iobroker.javascript 10.2.5 → 10.3.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.
Files changed (114) hide show
  1. package/README.md +6 -14
  2. package/admin/assets/AiChatPanel-CpY4Bun-.js +27 -0
  3. package/admin/assets/{AiChatService-BOL3J2Jd.js → AiChatService-QKcpW4jQ.js} +1 -1
  4. package/admin/assets/AiDiffView-DscPfZ38.js +1 -0
  5. package/admin/assets/{AiInlineProvider-BIlcrTkS.js → AiInlineProvider-DTSPKoXG.js} +1 -1
  6. package/admin/assets/BlocklyEditor-BZyoN1JE.js +301 -0
  7. package/admin/assets/Compile-B0uHjrBE.css +1 -0
  8. package/admin/assets/Compile-Oss28m_f.js +165 -0
  9. package/admin/assets/{Debugger-DwHHsh9O.js → Debugger-teJTIU-2.js} +4 -4
  10. package/admin/assets/{Documentation-Bc0RmoEF.js → Documentation-uz4Ut9pT.js} +4 -4
  11. package/admin/assets/ExpandMore-V5Ix1QB1.js +1 -0
  12. package/admin/assets/FbEditor-B8S-mCvc.css +1 -0
  13. package/admin/assets/FbEditor-aOZ-RpPV.js +15 -0
  14. package/admin/assets/Import-BIC5Ee9z.js +1 -0
  15. package/admin/assets/NotificationsActive-BdzH44gp.js +1 -0
  16. package/admin/assets/RulesEditor-CcDVthPa.js +1 -0
  17. package/admin/assets/{ScriptEditor-CEHpEFp7.js → ScriptEditor-CviB6Hif.js} +2 -2
  18. package/admin/assets/ScriptEditorVanillaMonaco-ByuXwybM.js +3 -0
  19. package/admin/assets/Send-Mdo32jMb.js +1 -0
  20. package/admin/assets/{_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-CM95r358.js → _virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-BnL93BgK.js} +1 -1
  21. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BEpNZh4U.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-NI-3Uv4e.js} +75 -75
  22. package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-FeM77flT.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-DVaMIZyC.js} +1 -1
  23. package/admin/assets/aiPromptBuilder-yTB6N2VT.js +1 -0
  24. package/admin/assets/blocklyTheme-CGhU3cEO.js +1 -0
  25. package/admin/assets/blocks_action-BQ4O7NRE.js +1 -0
  26. package/admin/assets/{blocks_convert-BP2RjhQH.js → blocks_convert-0VBjfhqQ.js} +1 -1
  27. package/admin/assets/blocks_logic-DAo99xDr.js +1 -0
  28. package/admin/assets/blocks_number-C--e19NU.js +1 -0
  29. package/admin/assets/blocks_object-D0TPhdzg.js +1 -0
  30. package/admin/assets/blocks_procedures-DgTxgXdB.js +3 -0
  31. package/admin/assets/{blocks_sendto-qIKzOAcV.js → blocks_sendto-CRIrtOUc.js} +1 -1
  32. package/admin/assets/blocks_switch-b_GYfF0n.js +2 -0
  33. package/admin/assets/blocks_system-BdkUdSsc.js +1 -0
  34. package/admin/assets/blocks_text-DSFhEVOf.js +1 -0
  35. package/admin/assets/blocks_time-CqALAiJp.js +1 -0
  36. package/admin/assets/blocks_timeout-yrOD2pZp.js +1 -0
  37. package/admin/assets/{blocks_trigger-CnmXLCUE.js → blocks_trigger-DeAYXpSS.js} +1 -1
  38. package/admin/assets/{cronHoverProvider-CcIFAhVy.js → cronHoverProvider-DoO2_tpG.js} +1 -1
  39. package/admin/assets/{field_cron-Ba46q8Qc.js → field_cron-D3Ts_s9M.js} +1 -1
  40. package/admin/assets/{field_oid-lWCjOzuq.js → field_oid-BRNXredg.js} +1 -1
  41. package/admin/assets/{field_script-BCWZHhnW.js → field_script-3X6ousg7.js} +1 -1
  42. package/admin/assets/helpers-BTGaTdnT.js +1 -0
  43. package/admin/assets/{hostInit-CVybS7BB.js → hostInit-2h2Cbsaw.js} +1 -1
  44. package/admin/assets/index-BHhhebRG.css +1 -0
  45. package/admin/assets/index-CbQlIKB_.js +156 -0
  46. package/admin/assets/{inlineChatWidget-N8xIkvxX.js → inlineChatWidget-BwQVCPkx.js} +2 -2
  47. package/admin/assets/{inlineDiffController-BuqYsKKq.js → inlineDiffController-BsDDsDHn.js} +2 -2
  48. package/admin/assets/loadBlocks-RpqM7PwO.js +117 -0
  49. package/admin/assets/loadMonaco-BVOEahNw.js +1 -0
  50. package/admin/assets/{mf-entry-bootstrap-0-a5a39621.js → mf-entry-bootstrap-0-0deef484.js} +3 -3
  51. package/admin/assets/{pendingShares-DOAkyFMS.js → pendingShares-BaAadIDv.js} +1 -1
  52. package/admin/assets/reactour.esm-DX9ZgYlx.js +137 -0
  53. package/admin/assets/{stateHoverProvider-BYAbe1Ay.js → stateHoverProvider-BEadnSXp.js} +1 -1
  54. package/admin/assets/tileFbd-CWAy7R7m.svg +85 -0
  55. package/admin/mf-manifest.json +1 -1
  56. package/admin/mf-stats.json +1 -1
  57. package/admin/remoteEntry.js +2 -2
  58. package/admin/tab.html +3 -7
  59. package/build/lib/fb/analyze.js +288 -0
  60. package/build/lib/fb/analyze.js.map +1 -0
  61. package/build/lib/fb/blocks.js +605 -0
  62. package/build/lib/fb/blocks.js.map +1 -0
  63. package/build/lib/fb/generate.js +326 -0
  64. package/build/lib/fb/generate.js.map +1 -0
  65. package/build/lib/fb/graph.js +240 -0
  66. package/build/lib/fb/graph.js.map +1 -0
  67. package/build/lib/fb/index.js +57 -0
  68. package/build/lib/fb/index.js.map +1 -0
  69. package/build/lib/fb/js.js +33 -0
  70. package/build/lib/fb/js.js.map +1 -0
  71. package/build/lib/fb/layout.js +205 -0
  72. package/build/lib/fb/layout.js.map +1 -0
  73. package/build/lib/fb/library.js +657 -0
  74. package/build/lib/fb/library.js.map +1 -0
  75. package/build/lib/fb/runtime.js +793 -0
  76. package/build/lib/fb/runtime.js.map +1 -0
  77. package/build/lib/fb/time.js +76 -0
  78. package/build/lib/fb/time.js.map +1 -0
  79. package/build/lib/fb/types.js +19 -0
  80. package/build/lib/fb/types.js.map +1 -0
  81. package/build/lib/fb/user.js +78 -0
  82. package/build/lib/fb/user.js.map +1 -0
  83. package/build/lib/javascript.d.ts +1 -1
  84. package/build/lib/mirror.js +4 -0
  85. package/build/lib/mirror.js.map +1 -1
  86. package/build/lib/sandbox.js +44 -0
  87. package/build/lib/sandbox.js.map +1 -1
  88. package/build/main.js +66 -1
  89. package/build/main.js.map +1 -1
  90. package/build/types.d.ts +9 -1
  91. package/docs/de/fbd.md +274 -0
  92. package/docs/en/fbd.md +260 -0
  93. package/io-package.json +39 -15
  94. package/package.json +1 -1
  95. package/admin/assets/AiChatPanel-oBeXbUFv.js +0 -27
  96. package/admin/assets/AiDiffView-C-KKjnJD.js +0 -1
  97. package/admin/assets/Error-DZ4vCykD.js +0 -1
  98. package/admin/assets/Import-Cu02ceLW.js +0 -1
  99. package/admin/assets/RulesEditor-QCbi1lV_.js +0 -1
  100. package/admin/assets/ScriptEditorVanillaMonaco-ChQmnk0p.js +0 -3
  101. package/admin/assets/aiPromptBuilder-DKler0UK.js +0 -1
  102. package/admin/assets/blocks_action-DywZVfRY.js +0 -1
  103. package/admin/assets/blocks_logic-CdTl5YZw.js +0 -1
  104. package/admin/assets/blocks_number-DXFd9Rva.js +0 -1
  105. package/admin/assets/blocks_object-by1uBDHi.js +0 -1
  106. package/admin/assets/blocks_procedures-BcJ7N70D.js +0 -3
  107. package/admin/assets/blocks_switch-dLF6hSJl.js +0 -2
  108. package/admin/assets/blocks_system-DmX-SBy8.js +0 -1
  109. package/admin/assets/blocks_text-BI4zNU3o.js +0 -1
  110. package/admin/assets/blocks_time-BgYA4Y_4.js +0 -1
  111. package/admin/assets/blocks_timeout-DUzgMyAu.js +0 -1
  112. package/admin/assets/helpers-CnEjYAup.js +0 -1
  113. package/admin/assets/index-B3s0zmWC.js +0 -871
  114. package/admin/assets/index-CXaeqPRy.css +0 -1
@@ -0,0 +1,301 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./blocks_action-BQ4O7NRE.js","./blockly-fcfyKYzp.js","./rolldown-runtime-C0FnF6B9.js","./helpers-BTGaTdnT.js","./blocks_convert-0VBjfhqQ.js","./blocks_logic-DAo99xDr.js","./blocks_number-C--e19NU.js","./blocks_procedures-DgTxgXdB.js","./field_script-3X6ousg7.js","./blocks_sendto-CRIrtOUc.js","./blocks_system-BdkUdSsc.js","./field_oid-BRNXredg.js","./field_cron-D3Ts_s9M.js","./blocks_object-D0TPhdzg.js","./blocks_switch-b_GYfF0n.js","./blocks_text-DSFhEVOf.js","./blocks_time-CqALAiJp.js","./blocks_trigger-DeAYXpSS.js","./blocks_timeout-yrOD2pZp.js"])))=>i.map(i=>d[i]);
2
+ import{o as e,r as t,t as n}from"./rolldown-runtime-C0FnF6B9.js";import{Dt as r,Ht as i,Jt as a,Nr as o,Ot as s,an as c,c as l,ln as u,m as d,on as f,or as p,qn as m,sn as h,sr as g,ur as _,wn as v}from"./_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__180366418666083__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-NI-3Uv4e.js";import{n as y,t as b}from"./Import-BIC5Ee9z.js";import{t as x}from"./vite-preload-helper-CaC3yEL3.js";import{u as S}from"./index-CbQlIKB_.js";import{t as C}from"./blocklyTheme-CGhU3cEO.js";import{d as w,g as T,m as E}from"./blockly-fcfyKYzp.js";var D=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=r(T()):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.go;return e.setAttribute(`at1`,`${n}`),n=this.getInput(`AT2`)instanceof t.go,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.Xn.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.Kj(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.Kj(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.Kj(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.Kj(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.Kj(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.Kj(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.Cj.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.Bj(``,this);e=t.lh({type:`field_input`,text:e,ariaTypeName:t.C.ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE}),e.setValidator(t.Ej),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.Bj(``,this);e=t.lh({type:`field_input`,text:e,ariaTypeName:t.C.ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE}),e.setValidator(t.Ej),e.setSpellcheck(!1),this.appendDummyInput().appendField(t.C.PROCEDURES_DEFRETURN_TITLE).appendField(e,`NAME`).appendField(``,`PARAMS`),this.appendValueInput(`RETURN`).setAlign(t.Xn.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.Dq{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.Cj.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.Lj(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.Xn.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.Lj(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.Bj(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.Em?(n=this.getProcedureCall(),t.Lj(n,this.workspace)||(t.B(e.group),this.dispose(!0),t.B(!1))):e.type===t.Dm&&e.element===`disabled`&&(n=this.getProcedureCall(),(i=t.Lj(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.Lj(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.Gm&&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.Gm||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.Xn.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.go;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.go;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.go;return e.setAttribute(`at1`,String(n)),n=this.getInput(`AT2`)instanceof t.go,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})}));o();var{blocks:ee,lists:te,logic:ne,loops:re,math:ie,procedures:ae,texts:oe,variables:se,variablesDynamic:ce}=e(D(),1).default,{JavascriptGenerator:le,Order:ue,javascriptGenerator:O}=e(n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=r(T()):(n.javascript=r(n.Blockly),n.Blockly.JavaScript=n.javascript.javascriptGenerator)})(e,function(e){var t=e.__namespace__,n=function(e,t,n){return t===`FIRST`?`0`:t===`FROM_END`?e+`.length - 1 - `+n:t===`LAST`?e+`.length - 1`:n},r=function(e,t){var n=0,r=``;t.STATEMENT_PREFIX&&(r+=t.injectId(t.STATEMENT_PREFIX,e));do{let i=t.valueToCode(e,`IF`+n,f.NONE)||`false`,a=t.statementToCode(e,`DO`+n);t.STATEMENT_SUFFIX&&(a=t.prefixLines(t.injectId(t.STATEMENT_SUFFIX,e),t.INDENT)+a),r+=(n>0?` else `:``)+`if (`+i+`) {
5
+ `+a+`}`,n++}while(e.getInput(`IF`+n));return(e.getInput(`ELSE`)||t.STATEMENT_SUFFIX)&&(n=e.getInput(`ELSE`)?t.statementToCode(e,`ELSE`):``,t.STATEMENT_SUFFIX&&(n=t.prefixLines(t.injectId(t.STATEMENT_SUFFIX,e),t.INDENT)+n),r+=` else {
6
+ `+n+`}`),r+`
7
+ `},i=function(e,n){var r=e.getField(`TIMES`)?String(Number(e.getFieldValue(`TIMES`))):n.valueToCode(e,`TIMES`,f.ASSIGNMENT)||`0`,i=n.statementToCode(e,`DO`);i=n.addLoopTrap(i,e),e=``;var a=n.nameDB_.getDistinctName(`count`,t.P.VARIABLE),o=r;return r.match(/^\w+$/)||t.zf(r)||(o=n.nameDB_.getDistinctName(`repeat_end`,t.P.VARIABLE),e+=`var `+o+` = `+r+`;
8
+ `),e+(`for (var `+a+` = 0; `+a+` < `+o+`; `+a+`++) {
9
+ `+i+`}
10
+ `)},a=function(e,t){var n=e.getFieldValue(`OP`);if(n===`NEG`)return e=t.valueToCode(e,`NUM`,f.UNARY_NEGATION)||`0`,e[0]===`-`&&(e=` `+e),[`-`+e,f.UNARY_NEGATION];switch(e=n===`SIN`||n===`COS`||n===`TAN`?t.valueToCode(e,`NUM`,f.DIVISION)||`0`:t.valueToCode(e,`NUM`,f.NONE)||`0`,n){case`ABS`:var r=`Math.abs(`+e+`)`;break;case`ROOT`:r=`Math.sqrt(`+e+`)`;break;case`LN`:r=`Math.log(`+e+`)`;break;case`EXP`:r=`Math.exp(`+e+`)`;break;case`POW10`:r=`Math.pow(10,`+e+`)`;break;case`ROUND`:r=`Math.round(`+e+`)`;break;case`ROUNDUP`:r=`Math.ceil(`+e+`)`;break;case`ROUNDDOWN`:r=`Math.floor(`+e+`)`;break;case`SIN`:r=`Math.sin(`+e+` / 180 * Math.PI)`;break;case`COS`:r=`Math.cos(`+e+` / 180 * Math.PI)`;break;case`TAN`:r=`Math.tan(`+e+` / 180 * Math.PI)`}if(r)return[r,f.FUNCTION_CALL];switch(n){case`LOG10`:r=`Math.log(`+e+`) / Math.log(10)`;break;case`ASIN`:r=`Math.asin(`+e+`) / Math.PI * 180`;break;case`ACOS`:r=`Math.acos(`+e+`) / Math.PI * 180`;break;case`ATAN`:r=`Math.atan(`+e+`) / Math.PI * 180`;break;default:throw Error(`Unknown math operator: `+n)}return[r,f.DIVISION]},o=function(e,t){var n=t.getProcedureName(e.getFieldValue(`NAME`)),r=``;t.STATEMENT_PREFIX&&(r+=t.injectId(t.STATEMENT_PREFIX,e)),t.STATEMENT_SUFFIX&&(r+=t.injectId(t.STATEMENT_SUFFIX,e)),r&&=t.prefixLines(r,t.INDENT);var i=``;t.INFINITE_LOOP_TRAP&&(i=t.prefixLines(t.injectId(t.INFINITE_LOOP_TRAP,e),t.INDENT));var a=``;e.getInput(`STACK`)&&(a=t.statementToCode(e,`STACK`));var o=``;e.getInput(`RETURN`)&&(o=t.valueToCode(e,`RETURN`,f.NONE)||``);var s=``;a&&o&&(s=r),o&&=t.INDENT+`return `+o+`;
11
+ `;var c=[],l=e.getVarModels();for(let e=0;e<l.length;e++)c[e]=t.getVariableName(l[e].getId());return r=`function `+n+`(`+c.join(`, `)+`) {
12
+ `+r+i+a+s+o+`}`,r=t.scrub_(e,r),t.definitions_[`%`+n]=r,null},s=function(e){return y.test(e)?[e,f.ATOMIC]:[`String(`+e+`)`,f.FUNCTION_CALL]},c=function(e,t,n){return t===`FIRST`?`0`:t===`FROM_END`?e+`.length - 1 - `+n:t===`LAST`?e+`.length - 1`:n},l=function(e,t){return t=`window.prompt(`+(e.getField(`TEXT`)?t.quote_(e.getFieldValue(`TEXT`)):t.valueToCode(e,`TEXT`,f.NONE)||`''`)+`)`,e.getFieldValue(`TYPE`)===`NUMBER`&&(t=`Number(`+t+`)`),[t,f.FUNCTION_CALL]},u=function(e,t){return[t.getVariableName(e.getFieldValue(`VAR`)),f.ATOMIC]},d=function(e,t){var n=t.valueToCode(e,`VALUE`,f.ASSIGNMENT)||`0`;return t.getVariableName(e.getFieldValue(`VAR`))+` = `+n+`;
13
+ `},f,p=f||={};p[p.ATOMIC=0]=`ATOMIC`,p[p.NEW=1.1]=`NEW`,p[p.MEMBER=1.2]=`MEMBER`,p[p.FUNCTION_CALL=2]=`FUNCTION_CALL`,p[p.INCREMENT=3]=`INCREMENT`,p[p.DECREMENT=3]=`DECREMENT`,p[p.BITWISE_NOT=4.1]=`BITWISE_NOT`,p[p.UNARY_PLUS=4.2]=`UNARY_PLUS`,p[p.UNARY_NEGATION=4.3]=`UNARY_NEGATION`,p[p.LOGICAL_NOT=4.4]=`LOGICAL_NOT`,p[p.TYPEOF=4.5]=`TYPEOF`,p[p.VOID=4.6]=`VOID`,p[p.DELETE=4.7]=`DELETE`,p[p.AWAIT=4.8]=`AWAIT`,p[p.EXPONENTIATION=5]=`EXPONENTIATION`,p[p.MULTIPLICATION=5.1]=`MULTIPLICATION`,p[p.DIVISION=5.2]=`DIVISION`,p[p.MODULUS=5.3]=`MODULUS`,p[p.SUBTRACTION=6.1]=`SUBTRACTION`,p[p.ADDITION=6.2]=`ADDITION`,p[p.BITWISE_SHIFT=7]=`BITWISE_SHIFT`,p[p.RELATIONAL=8]=`RELATIONAL`,p[p.IN=8]=`IN`,p[p.INSTANCEOF=8]=`INSTANCEOF`,p[p.EQUALITY=9]=`EQUALITY`,p[p.BITWISE_AND=10]=`BITWISE_AND`,p[p.BITWISE_XOR=11]=`BITWISE_XOR`,p[p.BITWISE_OR=12]=`BITWISE_OR`,p[p.LOGICAL_AND=13]=`LOGICAL_AND`,p[p.LOGICAL_OR=14]=`LOGICAL_OR`,p[p.CONDITIONAL=15]=`CONDITIONAL`,p[p.ASSIGNMENT=16]=`ASSIGNMENT`,p[p.YIELD=17]=`YIELD`,p[p.COMMA=18]=`COMMA`,p[p.NONE=99]=`NONE`;var m=class extends t.zq{constructor(e=`JavaScript`){super(e),this.ORDER_OVERRIDES=[[f.FUNCTION_CALL,f.MEMBER],[f.FUNCTION_CALL,f.FUNCTION_CALL],[f.MEMBER,f.MEMBER],[f.MEMBER,f.FUNCTION_CALL],[f.LOGICAL_NOT,f.LOGICAL_NOT],[f.MULTIPLICATION,f.MULTIPLICATION],[f.ADDITION,f.ADDITION],[f.LOGICAL_AND,f.LOGICAL_AND],[f.LOGICAL_OR,f.LOGICAL_OR]],this.isInitialized=!1;for(let t in f)e=f[t],typeof e!=`string`&&(this[`ORDER_`+t]=e);this.addReservedWords(`break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,new,return,super,switch,this,throw,try,typeof,var,void,while,with,yield,enum,implements,interface,let,package,private,protected,public,static,await,null,true,false,arguments,`+Object.getOwnPropertyNames(globalThis).join(`,`))}init(e){super.init(e),this.nameDB_?this.nameDB_.reset():this.nameDB_=new t.Cj(this.RESERVED_WORDS_),this.nameDB_.setVariableMap(e.getVariableMap()),this.nameDB_.populateVariables(e),this.nameDB_.populateProcedures(e);var n=[],r=t.Cd(e);for(let e=0;e<r.length;e++)n.push(this.nameDB_.getName(r[e],t.P.DEVELOPER_VARIABLE));for(e=t.Bd(e),r=0;r<e.length;r++)n.push(this.nameDB_.getName(e[r].getId(),t.P.VARIABLE));n.length&&(this.definitions_.variables=`var `+n.join(`, `)+`;`),this.isInitialized=!0}finish(e){var t=Object.values(this.definitions_);return super.finish(e),this.isInitialized=!1,this.nameDB_.reset(),t.join(`
14
+
15
+ `)+`
16
+
17
+
18
+ `+e}scrubNakedValue(e){return e+`;
19
+ `}quote_(e){return e=e.replace(/\\/g,`\\\\`).replace(/\n/g,`\\
20
+ `).replace(/'/g,`\\'`),`'`+e+`'`}multiline_quote_(e){return e.split(/\n/g).map(this.quote_).join(` + '\\n' +
21
+ `)}scrub_(e,n,r=!1){var i=``;if(!e.outputConnection||!e.outputConnection.targetConnection){var a=e.getCommentText();a&&(a=t.yf(a,this.COMMENT_WRAP-3),i+=this.prefixLines(a+`
22
+ `,`// `));for(let n=0;n<e.inputList.length;n++)e.inputList[n].type===t.je.VALUE&&(a=e.inputList[n].connection.targetBlock())&&(a=this.allNestedComments(a))&&(i+=this.prefixLines(a,`// `))}return e=e.nextConnection&&e.nextConnection.targetBlock(),r=r?``:this.blockToCode(e),i+n+r}getAdjusted(e,n,r=0,i=!1,a=f.NONE){e.workspace.options.oneBasedIndex&&r--;var o=e.workspace.options.oneBasedIndex?`1`:`0`,s=a;return r>0?s=f.ADDITION:r<0?s=f.SUBTRACTION:i&&(s=f.UNARY_NEGATION),e=this.valueToCode(e,n,s)||o,r===0&&!i?e:t.zf(e)?(e=String(Number(e)+r),i&&(e=String(-Number(e))),e):(r>0?e=`${e} + ${r}`:r<0&&(e=`${e} - ${-r}`),i&&(e=r?`-(${e})`:`-${e}`),Math.floor(a)>=Math.floor(s)&&(e=`(${e})`),e)}},h={};h.controls_if=r,h.controls_ifelse=r,h.logic_boolean=function(e){return[e.getFieldValue(`BOOL`)===`TRUE`?`true`:`false`,f.ATOMIC]},h.logic_compare=function(e,t){var n={EQ:`==`,NEQ:`!=`,LT:`<`,LTE:`<=`,GT:`>`,GTE:`>=`}[e.getFieldValue(`OP`)],r=n===`==`||n===`!=`?f.EQUALITY:f.RELATIONAL,i=t.valueToCode(e,`A`,r)||`0`;return e=t.valueToCode(e,`B`,r)||`0`,[i+` `+n+` `+e,r]},h.logic_negate=function(e,t){var n=f.LOGICAL_NOT;return[`!`+(t.valueToCode(e,`BOOL`,n)||`true`),n]},h.logic_null=function(){return[`null`,f.ATOMIC]},h.logic_operation=function(e,t){var n=e.getFieldValue(`OP`)===`AND`?`&&`:`||`,r=n===`&&`?f.LOGICAL_AND:f.LOGICAL_OR,i=t.valueToCode(e,`A`,r);return e=t.valueToCode(e,`B`,r),i||e?(t=n===`&&`?`true`:`false`,i||=t,e||=t):e=i=`false`,[i+` `+n+` `+e,r]},h.logic_ternary=function(e,t){var n=t.valueToCode(e,`IF`,f.CONDITIONAL)||`false`,r=t.valueToCode(e,`THEN`,f.CONDITIONAL)||`null`;return e=t.valueToCode(e,`ELSE`,f.CONDITIONAL)||`null`,[n+` ? `+r+` : `+e,f.CONDITIONAL]};var g={controls_flow_statements:function(e,t){var n=``;if(t.STATEMENT_PREFIX&&(n+=t.injectId(t.STATEMENT_PREFIX,e)),t.STATEMENT_SUFFIX&&(n+=t.injectId(t.STATEMENT_SUFFIX,e)),t.STATEMENT_PREFIX){let r=e.getSurroundLoop();r&&!r.suppressPrefixSuffix&&(n+=t.injectId(t.STATEMENT_PREFIX,r))}switch(e.getFieldValue(`FLOW`)){case`BREAK`:return n+`break;
23
+ `;case`CONTINUE`:return n+`continue;
24
+ `}throw Error(`Unknown flow statement.`)},controls_for:function(e,n){var r=n.getVariableName(e.getFieldValue(`VAR`)),i=n.valueToCode(e,`FROM`,f.ASSIGNMENT)||`0`,a=n.valueToCode(e,`TO`,f.ASSIGNMENT)||`0`,o=n.valueToCode(e,`BY`,f.ASSIGNMENT)||`1`,s=n.statementToCode(e,`DO`);if(s=n.addLoopTrap(s,e),t.zf(i)&&t.zf(a)&&t.zf(o))n=Number(i)<=Number(a),e=`for (`+r+` = `+i+`; `+r+(n?` <= `:` >= `)+a+`; `+r,r=Math.abs(Number(o)),e=r===1?e+(n?`++`:`--`):e+((n?` += `:` -= `)+r),e+=`) {
25
+ `+s+`}
26
+ `;else{e=``;let c=i;i.match(/^\w+$/)||t.zf(i)||(c=n.nameDB_.getDistinctName(r+`_start`,t.P.VARIABLE),e+=`var `+c+` = `+i+`;
27
+ `),i=a,a.match(/^\w+$/)||t.zf(a)||(i=n.nameDB_.getDistinctName(r+`_end`,t.P.VARIABLE),e+=`var `+i+` = `+a+`;
28
+ `),a=n.nameDB_.getDistinctName(r+`_inc`,t.P.VARIABLE),e+=`var `+a+` = `,e=t.zf(o)?e+(Math.abs(Number(o))+`;
29
+ `):e+(`Math.abs(`+o+`);
30
+ `),e+=`if (`+c+` > `+i+`) {
31
+ `,e+=n.INDENT+a+` = -`+a+`;
32
+ `,e=e+`}
33
+ for (`+(r+` = `+c+`; `+a+` >= 0 ? `+r+` <= `+i+` : `+r+` >= `+i+`; `+r+` += `+a+`) {
34
+ `+s+`}
35
+ `)}return e},controls_forEach:function(e,n){var r=n.getVariableName(e.getFieldValue(`VAR`)),i=n.valueToCode(e,`LIST`,f.ASSIGNMENT)||`[]`,a=n.statementToCode(e,`DO`);a=n.addLoopTrap(a,e),e=``;var o=i;return i.match(/^\w+$/)||(o=n.nameDB_.getDistinctName(r+`_list`,t.P.VARIABLE),e+=`var `+o+` = `+i+`;
36
+ `),i=n.nameDB_.getDistinctName(r+`_index`,t.P.VARIABLE),a=n.INDENT+r+` = `+o+`[`+i+`];
37
+ `+a,e+(`for (var `+i+` in `+o+`) {
38
+ `+a+`}
39
+ `)}};g.controls_repeat=i,g.controls_repeat_ext=i,g.controls_whileUntil=function(e,t){var n=e.getFieldValue(`MODE`)===`UNTIL`,r=t.valueToCode(e,`BOOL`,n?f.LOGICAL_NOT:f.NONE)||`false`,i=t.statementToCode(e,`DO`);return i=t.addLoopTrap(i,e),n&&(r=`!`+r),`while (`+r+`) {
40
+ `+i+`}
41
+ `};var _={math_arithmetic:function(e,t){var n={ADD:[` + `,f.ADDITION],MINUS:[` - `,f.SUBTRACTION],MULTIPLY:[` * `,f.MULTIPLICATION],DIVIDE:[` / `,f.DIVISION],POWER:[null,f.NONE]}[e.getFieldValue(`OP`)],r=n[0];n=n[1];var i=t.valueToCode(e,`A`,n)||`0`;return e=t.valueToCode(e,`B`,n)||`0`,r?[i+r+e,n]:[`Math.pow(`+i+`, `+e+`)`,f.FUNCTION_CALL]},math_atan2:function(e,t){var n=t.valueToCode(e,`X`,f.NONE)||`0`;return[`Math.atan2(`+(t.valueToCode(e,`Y`,f.NONE)||`0`)+`, `+n+`) / Math.PI * 180`,f.DIVISION]},math_change:function(e,t){var n=t.valueToCode(e,`DELTA`,f.ADDITION)||`0`;return e=t.getVariableName(e.getFieldValue(`VAR`)),e+` = (typeof `+e+` === 'number' ? `+e+` : 0) + `+n+`;
42
+ `},math_constant:function(e){return{PI:[`Math.PI`,f.MEMBER],E:[`Math.E`,f.MEMBER],GOLDEN_RATIO:[`(1 + Math.sqrt(5)) / 2`,f.DIVISION],SQRT2:[`Math.SQRT2`,f.MEMBER],SQRT1_2:[`Math.SQRT1_2`,f.MEMBER],INFINITY:[`Infinity`,f.ATOMIC]}[e.getFieldValue(`CONSTANT`)]},math_constrain:function(e,t){var n=t.valueToCode(e,`VALUE`,f.NONE)||`0`,r=t.valueToCode(e,`LOW`,f.NONE)||`0`;return e=t.valueToCode(e,`HIGH`,f.NONE)||`Infinity`,[`Math.min(Math.max(`+n+`, `+r+`), `+e+`)`,f.FUNCTION_CALL]},math_modulo:function(e,t){var n=t.valueToCode(e,`DIVIDEND`,f.MODULUS)||`0`;return e=t.valueToCode(e,`DIVISOR`,f.MODULUS)||`0`,[n+` % `+e,f.MODULUS]},math_number:function(e){return e=Number(e.getFieldValue(`NUM`)),[String(e),e>=0?f.ATOMIC:f.UNARY_NEGATION]},math_number_property:function(e,t){var n={EVEN:[` % 2 === 0`,f.MODULUS,f.EQUALITY],ODD:[` % 2 === 1`,f.MODULUS,f.EQUALITY],WHOLE:[` % 1 === 0`,f.MODULUS,f.EQUALITY],POSITIVE:[` > 0`,f.RELATIONAL,f.RELATIONAL],NEGATIVE:[` < 0`,f.RELATIONAL,f.RELATIONAL],DIVISIBLE_BY:[null,f.MODULUS,f.EQUALITY],PRIME:[null,f.NONE,f.FUNCTION_CALL]},r=e.getFieldValue(`PROPERTY`),[i,a,o]=n[r];return n=t.valueToCode(e,`NUMBER_TO_CHECK`,a)||`0`,r===`PRIME`?e=t.provideFunction_(`mathIsPrime`,`
43
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(n) {
44
+ // https://en.wikipedia.org/wiki/Primality_test#Naive_methods
45
+ if (n == 2 || n == 3) {
46
+ return true;
47
+ }
48
+ // False if n is NaN, negative, is 1, or not whole.
49
+ // And false if n is divisible by 2 or 3.
50
+ if (isNaN(n) || n <= 1 || n % 1 !== 0 || n % 2 === 0 || n % 3 === 0) {
51
+ return false;
52
+ }
53
+ // Check all the numbers of form 6k +/- 1, up to sqrt(n).
54
+ for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {
55
+ if (n % (x - 1) === 0 || n % (x + 1) === 0) {
56
+ return false;
57
+ }
58
+ }
59
+ return true;
60
+ }
61
+ `)+`(`+n+`)`:r===`DIVISIBLE_BY`?(e=t.valueToCode(e,`DIVISOR`,f.MODULUS)||`0`,e=n+` % `+e+` === 0`):e=n+i,[e,o]},math_on_list:function(e,t){var n=e.getFieldValue(`OP`);switch(n){case`SUM`:e=t.valueToCode(e,`LIST`,f.MEMBER)||`[]`,e+=`.reduce(function(x, y) {return x + y;}, 0)`;break;case`MIN`:e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=`Math.min.apply(null, `+e+`)`;break;case`MAX`:e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=`Math.max.apply(null, `+e+`)`;break;case`AVERAGE`:n=t.provideFunction_(`mathMean`,`
62
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(myList) {
63
+ return myList.reduce(function(x, y) {return x + y;}, 0) / myList.length;
64
+ }
65
+ `),e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=n+`(`+e+`)`;break;case`MEDIAN`:n=t.provideFunction_(`mathMedian`,`
66
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(myList) {
67
+ var localList = myList.filter(function (x) {return typeof x === 'number';});
68
+ if (!localList.length) return null;
69
+ localList.sort(function(a, b) {return b - a;});
70
+ if (localList.length % 2 === 0) {
71
+ return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;
72
+ } else {
73
+ return localList[(localList.length - 1) / 2];
74
+ }
75
+ }
76
+ `),e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=n+`(`+e+`)`;break;case`MODE`:n=t.provideFunction_(`mathModes`,`
77
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(values) {
78
+ var modes = [];
79
+ var counts = [];
80
+ var maxCount = 0;
81
+ for (var i = 0; i < values.length; i++) {
82
+ var value = values[i];
83
+ var found = false;
84
+ var thisCount;
85
+ for (var j = 0; j < counts.length; j++) {
86
+ if (counts[j][0] === value) {
87
+ thisCount = ++counts[j][1];
88
+ found = true;
89
+ break;
90
+ }
91
+ }
92
+ if (!found) {
93
+ counts.push([value, 1]);
94
+ thisCount = 1;
95
+ }
96
+ maxCount = Math.max(thisCount, maxCount);
97
+ }
98
+ for (var j = 0; j < counts.length; j++) {
99
+ if (counts[j][1] === maxCount) {
100
+ modes.push(counts[j][0]);
101
+ }
102
+ }
103
+ return modes;
104
+ }
105
+ `),e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=n+`(`+e+`)`;break;case`STD_DEV`:n=t.provideFunction_(`mathStandardDeviation`,`
106
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(numbers) {
107
+ var n = numbers.length;
108
+ if (!n) return null;
109
+ var mean = numbers.reduce(function(x, y) {return x + y;}) / n;
110
+ var variance = 0;
111
+ for (var j = 0; j < n; j++) {
112
+ variance += Math.pow(numbers[j] - mean, 2);
113
+ }
114
+ variance /= n;
115
+ return Math.sqrt(variance);
116
+ }
117
+ `),e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=n+`(`+e+`)`;break;case`RANDOM`:n=t.provideFunction_(`mathRandomList`,`
118
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(list) {
119
+ var x = Math.floor(Math.random() * list.length);
120
+ return list[x];
121
+ }
122
+ `),e=t.valueToCode(e,`LIST`,f.NONE)||`[]`,e=n+`(`+e+`)`;break;default:throw Error(`Unknown operator: `+n)}return[e,f.FUNCTION_CALL]},math_random_float:function(){return[`Math.random()`,f.FUNCTION_CALL]},math_random_int:function(e,t){var n=t.valueToCode(e,`FROM`,f.NONE)||`0`;return e=t.valueToCode(e,`TO`,f.NONE)||`0`,[t.provideFunction_(`mathRandomInt`,`
123
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(a, b) {
124
+ if (a > b) {
125
+ // Swap a and b to ensure a is smaller.
126
+ var c = a;
127
+ a = b;
128
+ b = c;
129
+ }
130
+ return Math.floor(Math.random() * (b - a + 1) + a);
131
+ }
132
+ `)+`(`+n+`, `+e+`)`,f.FUNCTION_CALL]}};_.math_round=a,_.math_single=a,_.math_trig=a;var v={procedures_callnoreturn:function(e,t){return t.forBlock.procedures_callreturn(e,t)[0]+`;
133
+ `},procedures_callreturn:function(e,t){var n=t.getProcedureName(e.getFieldValue(`NAME`)),r=[],i=e.getVarModels();for(let n=0;n<i.length;n++)r[n]=t.valueToCode(e,`ARG`+n,f.NONE)||`null`;return[n+`(`+r.join(`, `)+`)`,f.FUNCTION_CALL]}};v.procedures_defnoreturn=o,v.procedures_defreturn=o,v.procedures_ifreturn=function(e,t){var n=`if (`+(t.valueToCode(e,`CONDITION`,f.NONE)||`false`)+`) {
134
+ `;return t.STATEMENT_SUFFIX&&(n+=t.prefixLines(t.injectId(t.STATEMENT_SUFFIX,e),t.INDENT)),e.hasReturnValue_?(e=t.valueToCode(e,`VALUE`,f.NONE)||`null`,n+=t.INDENT+`return `+e+`;
135
+ `):n+=t.INDENT+`return;
136
+ `,n+`}
137
+ `};var y=/^\s*'([^']|\\')*'\s*$/,b={text:function(e,t){return[t.quote_(e.getFieldValue(`TEXT`)),f.ATOMIC]},text_append:function(e,t){var n=t.getVariableName(e.getFieldValue(`VAR`));return e=t.valueToCode(e,`TEXT`,f.NONE)||`''`,n+` += `+s(e)[0]+`;
138
+ `},text_changeCase:function(e,t){var n={UPPERCASE:`.toUpperCase()`,LOWERCASE:`.toLowerCase()`,TITLECASE:null}[e.getFieldValue(`CASE`)];return e=t.valueToCode(e,`TEXT`,n?f.MEMBER:f.NONE)||`''`,[n?e+n:t.provideFunction_(`textToTitleCase`,`
139
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(str) {
140
+ return str.replace(/\\S+/g,
141
+ function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});
142
+ }
143
+ `)+`(`+e+`)`,f.FUNCTION_CALL]},text_charAt:function(e,t){var n=e.getFieldValue(`WHERE`)||`FROM_START`,r=t.valueToCode(e,`VALUE`,n===`RANDOM`?f.NONE:f.MEMBER)||`''`;switch(n){case`FIRST`:return[r+`.charAt(0)`,f.FUNCTION_CALL];case`LAST`:return[r+`.slice(-1)`,f.FUNCTION_CALL];case`FROM_START`:return e=t.getAdjusted(e,`AT`),[r+`.charAt(`+e+`)`,f.FUNCTION_CALL];case`FROM_END`:return e=t.getAdjusted(e,`AT`,1,!0),[r+`.slice(`+e+`).charAt(0)`,f.FUNCTION_CALL];case`RANDOM`:return[t.provideFunction_(`textRandomLetter`,`
144
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(text) {
145
+ var x = Math.floor(Math.random() * text.length);
146
+ return text[x];
147
+ }
148
+ `)+`(`+r+`)`,f.FUNCTION_CALL]}throw Error(`Unhandled option (text_charAt).`)},text_count:function(e,t){var n=t.valueToCode(e,`TEXT`,f.NONE)||`''`;return e=t.valueToCode(e,`SUB`,f.NONE)||`''`,[t.provideFunction_(`textCount`,`
149
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(haystack, needle) {
150
+ if (needle.length === 0) {
151
+ return haystack.length + 1;
152
+ } else {
153
+ return haystack.split(needle).length - 1;
154
+ }
155
+ }
156
+ `)+`(`+n+`, `+e+`)`,f.FUNCTION_CALL]},text_getSubstring:function(e,t){var n={FIRST:`First`,LAST:`Last`,FROM_START:`FromStart`,FROM_END:`FromEnd`},r=e.getFieldValue(`WHERE1`),i=e.getFieldValue(`WHERE2`),a=r!==`FROM_END`&&r!==`LAST`&&i!==`FROM_END`&&i!==`LAST`,o=t.valueToCode(e,`STRING`,a?f.MEMBER:f.NONE)||`''`;if(r===`FIRST`&&i===`LAST`)return[o,f.NONE];if(o.match(/^'?\w+'?$/)||a){switch(r){case`FROM_START`:n=t.getAdjusted(e,`AT1`);break;case`FROM_END`:n=t.getAdjusted(e,`AT1`,1,!1,f.SUBTRACTION),n=o+`.length - `+n;break;case`FIRST`:n=`0`;break;default:throw Error(`Unhandled option (text_getSubstring).`)}switch(i){case`FROM_START`:t=t.getAdjusted(e,`AT2`,1);break;case`FROM_END`:t=t.getAdjusted(e,`AT2`,0,!1,f.SUBTRACTION),t=o+`.length - `+t;break;case`LAST`:t=o+`.length`;break;default:throw Error(`Unhandled option (text_getSubstring).`)}o=o+`.slice(`+n+`, `+t+`)`}else a=t.getAdjusted(e,`AT1`),e=t.getAdjusted(e,`AT2`),o=t.provideFunction_(`subsequence`+n[r]+n[i],`
157
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(sequence${r===`FROM_END`||r===`FROM_START`?`, at1`:``}${i===`FROM_END`||i===`FROM_START`?`, at2`:``}) {
158
+ var start = ${c(`sequence`,r,`at1`)};
159
+ var end = ${c(`sequence`,i,`at2`)} + 1;
160
+ return sequence.slice(start, end);
161
+ }
162
+ `)+`(`+o+(r===`FROM_END`||r===`FROM_START`?`, `+a:``)+(i===`FROM_END`||i===`FROM_START`?`, `+e:``)+`)`;return[o,f.FUNCTION_CALL]},text_indexOf:function(e,t){var n=e.getFieldValue(`END`)===`FIRST`?`indexOf`:`lastIndexOf`,r=t.valueToCode(e,`FIND`,f.NONE)||`''`;return t=(t.valueToCode(e,`VALUE`,f.MEMBER)||`''`)+`.`+n+`(`+r+`)`,e.workspace.options.oneBasedIndex?[t+` + 1`,f.ADDITION]:[t,f.FUNCTION_CALL]},text_isEmpty:function(e,t){return[`!`+(t.valueToCode(e,`VALUE`,f.MEMBER)||`''`)+`.length`,f.LOGICAL_NOT]},text_join:function(e,t){switch(e.itemCount_){case 0:return[`''`,f.ATOMIC];case 1:return e=t.valueToCode(e,`ADD0`,f.NONE)||`''`,s(e);case 2:var n=t.valueToCode(e,`ADD0`,f.NONE)||`''`;return e=t.valueToCode(e,`ADD1`,f.NONE)||`''`,[s(n)[0]+` + `+s(e)[0],f.ADDITION];default:n=Array(e.itemCount_);for(let r=0;r<e.itemCount_;r++)n[r]=t.valueToCode(e,`ADD`+r,f.NONE)||`''`;return[`[`+n.join(`,`)+`].join('')`,f.FUNCTION_CALL]}},text_length:function(e,t){return[(t.valueToCode(e,`VALUE`,f.MEMBER)||`''`)+`.length`,f.MEMBER]},text_print:function(e,t){return`window.alert(`+(t.valueToCode(e,`TEXT`,f.NONE)||`''`)+`);
163
+ `}};b.text_prompt=l,b.text_prompt_ext=l,b.text_replace=function(e,t){var n=t.valueToCode(e,`TEXT`,f.NONE)||`''`,r=t.valueToCode(e,`FROM`,f.NONE)||`''`;return e=t.valueToCode(e,`TO`,f.NONE)||`''`,[t.provideFunction_(`textReplace`,`
164
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(haystack, needle, replacement) {
165
+ needle = needle.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, '\\\\$1')
166
+ .replace(/\\x08/g, '\\\\x08');
167
+ return haystack.replace(new RegExp(needle, 'g'), replacement);
168
+ }
169
+ `)+`(`+n+`, `+r+`, `+e+`)`,f.FUNCTION_CALL]},b.text_reverse=function(e,t){return[(t.valueToCode(e,`TEXT`,f.MEMBER)||`''`)+`.split('').reverse().join('')`,f.FUNCTION_CALL]},b.text_trim=function(e,t){var n={LEFT:`.replace(/^[\\s\\xa0]+/, '')`,RIGHT:`.replace(/[\\s\\xa0]+$/, '')`,BOTH:`.trim()`}[e.getFieldValue(`MODE`)];return[(t.valueToCode(e,`TEXT`,f.MEMBER)||`''`)+n,f.FUNCTION_CALL]};var x={};x.variables_get=u,x.variables_set=d;var S={};S.variables_get_dynamic=u,S.variables_set_dynamic=d;var C=new m,w=Object.assign({},{lists_create_empty:function(){return[`[]`,f.ATOMIC]},lists_create_with:function(e,t){var n=Array(e.itemCount_);for(let r=0;r<e.itemCount_;r++)n[r]=t.valueToCode(e,`ADD`+r,f.NONE)||`null`;return[`[`+n.join(`, `)+`]`,f.ATOMIC]},lists_getIndex:function(e,t){var n=e.getFieldValue(`MODE`)||`GET`,r=e.getFieldValue(`WHERE`)||`FROM_START`,i=t.valueToCode(e,`VALUE`,r===`RANDOM`?f.NONE:f.MEMBER)||`[]`;switch(r){case`FIRST`:if(n===`GET`)return[i+`[0]`,f.MEMBER];if(n===`GET_REMOVE`)return[i+`.shift()`,f.MEMBER];if(n===`REMOVE`)return i+`.shift();
170
+ `;break;case`LAST`:if(n===`GET`)return[i+`.slice(-1)[0]`,f.MEMBER];if(n===`GET_REMOVE`)return[i+`.pop()`,f.MEMBER];if(n===`REMOVE`)return i+`.pop();
171
+ `;break;case`FROM_START`:if(e=t.getAdjusted(e,`AT`),n===`GET`)return[i+`[`+e+`]`,f.MEMBER];if(n===`GET_REMOVE`)return[i+`.splice(`+e+`, 1)[0]`,f.FUNCTION_CALL];if(n===`REMOVE`)return i+`.splice(`+e+`, 1);
172
+ `;break;case`FROM_END`:if(e=t.getAdjusted(e,`AT`,1,!0),n===`GET`)return[i+`.slice(`+e+`)[0]`,f.FUNCTION_CALL];if(n===`GET_REMOVE`)return[i+`.splice(`+e+`, 1)[0]`,f.FUNCTION_CALL];if(n===`REMOVE`)return i+`.splice(`+e+`, 1);`;break;case`RANDOM`:if(i=t.provideFunction_(`listsGetRandomItem`,`
173
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(list, remove) {
174
+ var x = Math.floor(Math.random() * list.length);
175
+ if (remove) {
176
+ return list.splice(x, 1)[0];
177
+ } else {
178
+ return list[x];
179
+ }
180
+ }
181
+ `)+`(`+i+`, `+(n!==`GET`)+`)`,n===`GET`||n===`GET_REMOVE`)return[i,f.FUNCTION_CALL];if(n===`REMOVE`)return i+`;
182
+ `}throw Error(`Unhandled combination (lists_getIndex).`)},lists_getSublist:function(e,t){var r={FIRST:`First`,LAST:`Last`,FROM_START:`FromStart`,FROM_END:`FromEnd`},i=t.valueToCode(e,`LIST`,f.MEMBER)||`[]`,a=e.getFieldValue(`WHERE1`),o=e.getFieldValue(`WHERE2`);if(a===`FIRST`&&o===`LAST`)i+=`.slice(0)`;else if(i.match(/^\w+$/)||a!==`FROM_END`&&o===`FROM_START`){switch(a){case`FROM_START`:r=t.getAdjusted(e,`AT1`);break;case`FROM_END`:r=t.getAdjusted(e,`AT1`,1,!1,f.SUBTRACTION),r=i+`.length - `+r;break;case`FIRST`:r=`0`;break;default:throw Error(`Unhandled option (lists_getSublist).`)}switch(o){case`FROM_START`:t=t.getAdjusted(e,`AT2`,1);break;case`FROM_END`:t=t.getAdjusted(e,`AT2`,0,!1,f.SUBTRACTION),t=i+`.length - `+t;break;case`LAST`:t=i+`.length`;break;default:throw Error(`Unhandled option (lists_getSublist).`)}i=i+`.slice(`+r+`, `+t+`)`}else{let s=t.getAdjusted(e,`AT1`);e=t.getAdjusted(e,`AT2`),i=t.provideFunction_(`subsequence`+r[a]+r[o],`
183
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(sequence${a===`FROM_END`||a===`FROM_START`?`, at1`:``}${o===`FROM_END`||o===`FROM_START`?`, at2`:``}) {
184
+ var start = ${n(`sequence`,a,`at1`)};
185
+ var end = ${n(`sequence`,o,`at2`)} + 1;
186
+ return sequence.slice(start, end);
187
+ }
188
+ `)+`(`+i+(a===`FROM_END`||a===`FROM_START`?`, `+s:``)+(o===`FROM_END`||o===`FROM_START`?`, `+e:``)+`)`}return[i,f.FUNCTION_CALL]},lists_indexOf:function(e,t){var n=e.getFieldValue(`END`)===`FIRST`?`indexOf`:`lastIndexOf`,r=t.valueToCode(e,`FIND`,f.NONE)||`''`;return t=(t.valueToCode(e,`VALUE`,f.MEMBER)||`[]`)+`.`+n+`(`+r+`)`,e.workspace.options.oneBasedIndex?[t+` + 1`,f.ADDITION]:[t,f.FUNCTION_CALL]},lists_isEmpty:function(e,t){return[`!`+(t.valueToCode(e,`VALUE`,f.MEMBER)||`[]`)+`.length`,f.LOGICAL_NOT]},lists_length:function(e,t){return[(t.valueToCode(e,`VALUE`,f.MEMBER)||`[]`)+`.length`,f.MEMBER]},lists_repeat:function(e,t){var n=t.provideFunction_(`listsRepeat`,`
189
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(value, n) {
190
+ var array = [];
191
+ for (var i = 0; i < n; i++) {
192
+ array[i] = value;
193
+ }
194
+ return array;
195
+ }
196
+ `),r=t.valueToCode(e,`ITEM`,f.NONE)||`null`;return e=t.valueToCode(e,`NUM`,f.NONE)||`0`,[n+`(`+r+`, `+e+`)`,f.FUNCTION_CALL]},lists_reverse:function(e,t){return[(t.valueToCode(e,`LIST`,f.FUNCTION_CALL)||`[]`)+`.slice().reverse()`,f.FUNCTION_CALL]},lists_setIndex:function(e,n){function r(){if(i.match(/^\w+$/))return``;var e=n.nameDB_.getDistinctName(`tmpList`,t.P.VARIABLE),r=`var `+e+` = `+i+`;
197
+ `;return i=e,r}var i=n.valueToCode(e,`LIST`,f.MEMBER)||`[]`,a=e.getFieldValue(`MODE`)||`GET`,o=e.getFieldValue(`WHERE`)||`FROM_START`,s=n.valueToCode(e,`TO`,f.ASSIGNMENT)||`null`;switch(o){case`FIRST`:if(a===`SET`)return i+`[0] = `+s+`;
198
+ `;if(a===`INSERT`)return i+`.unshift(`+s+`);
199
+ `;break;case`LAST`:if(a===`SET`)return r()+(i+`[`+i+`.length - 1] = `+s+`;
200
+ `);if(a===`INSERT`)return i+`.push(`+s+`);
201
+ `;break;case`FROM_START`:if(e=n.getAdjusted(e,`AT`),a===`SET`)return i+`[`+e+`] = `+s+`;
202
+ `;if(a===`INSERT`)return i+`.splice(`+e+`, 0, `+s+`);
203
+ `;break;case`FROM_END`:if(e=n.getAdjusted(e,`AT`,1,!1,f.SUBTRACTION),o=r(),a===`SET`)return o+(i+`[`+i+`.length - `+e+`] = `+s+`;
204
+ `);if(a===`INSERT`)return o+(i+`.splice(`+i+`.length - `+e+`, 0, `+s+`);
205
+ `);break;case`RANDOM`:if(e=r(),o=n.nameDB_.getDistinctName(`tmpX`,t.P.VARIABLE),e+=`var `+o+` = Math.floor(Math.random() * `+i+`.length);
206
+ `,a===`SET`)return e+(i+`[`+o+`] = `+s+`;
207
+ `);if(a===`INSERT`)return e+(i+`.splice(`+o+`, 0, `+s+`);
208
+ `)}throw Error(`Unhandled combination (lists_setIndex).`)},lists_sort:function(e,t){var n=t.valueToCode(e,`LIST`,f.FUNCTION_CALL)||`[]`,r=e.getFieldValue(`DIRECTION`)===`1`?1:-1;return e=e.getFieldValue(`TYPE`),t=t.provideFunction_(`listsGetSortCompare`,`
209
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(type, direction) {
210
+ var compareFuncs = {
211
+ 'NUMERIC': function(a, b) {
212
+ return Number(a) - Number(b); },
213
+ 'TEXT': function(a, b) {
214
+ return String(a) > String(b) ? 1 : -1; },
215
+ 'IGNORE_CASE': function(a, b) {
216
+ return String(a).toLowerCase() > String(b).toLowerCase() ? 1 : -1; },
217
+ };
218
+ var compare = compareFuncs[type];
219
+ return function(a, b) { return compare(a, b) * direction; };
220
+ }
221
+ `),[n+`.slice().sort(`+t+`("`+e+`", `+r+`))`,f.FUNCTION_CALL]},lists_split:function(e,t){var n=t.valueToCode(e,`INPUT`,f.MEMBER);if(t=t.valueToCode(e,`DELIM`,f.NONE)||`''`,e=e.getFieldValue(`MODE`),e===`SPLIT`)n||=`''`,e=`split`;else if(e===`JOIN`)n||=`[]`,e=`join`;else throw Error(`Unknown mode: `+e);return[n+`.`+e+`(`+t+`)`,f.FUNCTION_CALL]}},h,g,_,v,b,x,S);for(let e in w)C.forBlock[e]=w[e];var T={};return T.JavascriptGenerator=m,T.Order=f,T.javascriptGenerator=C,t.__chunk_javascript=T,t.__chunk_javascript.__namespace__=t,t.__chunk_javascript})}))(),1).default,de=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_CANT_SCROLL_FURTHER=`Can't scroll further.`,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.ANNOUNCE_SCROLLED_DOWN=`Scrolled down.`,e.Msg.ANNOUNCE_SCROLLED_LEFT=`Scrolled left.`,e.Msg.ANNOUNCE_SCROLLED_RIGHT=`Scrolled right.`,e.Msg.ANNOUNCE_SCROLLED_UP=`Scrolled up.`,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_NEXT_PAGE=`Jump to next page`,e.Msg.SHORTCUTS_JUMP_PREVIOUS_PAGE=`Jump to previous page`,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_SCROLL_DOWN=`Scroll down`,e.Msg.SHORTCUTS_SCROLL_LEFT=`Scroll left`,e.Msg.SHORTCUTS_SCROLL_RIGHT=`Scroll right`,e.Msg.SHORTCUTS_SCROLL_UP=`Scroll up`,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.WORKSPACE_SEARCH_CLOSE=`Close search bar`,e.Msg.WORKSPACE_SEARCH_FIND_NEXT=`Find next`,e.Msg.WORKSPACE_SEARCH_FIND_PREVIOUS=`Find previous`,e.Msg.WORKSPACE_SEARCH_INPUT_LABEL=`Search workspace. Press Enter for the next match, Shift+Enter for the previous match. Press Escape to close search and focus the current match.`,e.Msg.WORKSPACE_SEARCH_MATCH=`Match %1 of %2: %3`,e.Msg.WORKSPACE_SEARCH_NO_MATCHES=`No matching blocks`,e.Msg.WORKSPACE_SEARCH_PLACEHOLDER=`Search`,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})})),fe=t({ADD_COMMENT:()=>Se,ALT_KEY:()=>Vc,ANNOUNCE_CANT_SCROLL_FURTHER:()=>Zl,ANNOUNCE_MOVE_AFTER:()=>Od,ANNOUNCE_MOVE_AROUND:()=>Ad,ANNOUNCE_MOVE_BEFORE:()=>Dd,ANNOUNCE_MOVE_CANCELED:()=>Nd,ANNOUNCE_MOVE_INSIDE:()=>kd,ANNOUNCE_MOVE_OF:()=>Md,ANNOUNCE_MOVE_TO:()=>jd,ANNOUNCE_MOVE_WORKSPACE:()=>Ed,ANNOUNCE_SCROLLED_DOWN:()=>Xl,ANNOUNCE_SCROLLED_LEFT:()=>ql,ANNOUNCE_SCROLLED_RIGHT:()=>Jl,ANNOUNCE_SCROLLED_UP:()=>Yl,ARIA_LABEL_ADD_ELSE_IF:()=>bf,ARIA_LABEL_ADD_INPUT:()=>Ef,ARIA_LABEL_ADD_LIST_ITEM:()=>Sf,ARIA_LABEL_ADD_TEXT:()=>wf,ARIA_LABEL_BUTTON:()=>Qd,ARIA_LABEL_COMMENT:()=>df,ARIA_LABEL_COMMENT_COLLAPSE:()=>ff,ARIA_LABEL_COMMENT_EXPAND:()=>pf,ARIA_LABEL_FIELD_ANGLE:()=>kf,ARIA_LABEL_HEADING:()=>$d,ARIA_LABEL_REMOVE_ELSE_IF:()=>xf,ARIA_LABEL_REMOVE_INPUT:()=>Df,ARIA_LABEL_REMOVE_LIST_ITEM:()=>Cf,ARIA_LABEL_REMOVE_TEXT:()=>Tf,ARIA_LABEL_TRASH_EMPTY:()=>Zf,ARIA_TYPE_FIELD_ANGLE:()=>Of,ARIA_TYPE_FIELD_BITMAP:()=>Mf,ARIA_TYPE_FIELD_CHECKBOX:()=>Hd,ARIA_TYPE_FIELD_COLOUR:()=>jf,ARIA_TYPE_FIELD_DATE:()=>Af,ARIA_TYPE_FIELD_DROPDOWN:()=>Bd,ARIA_TYPE_FIELD_GRID:()=>Nf,ARIA_TYPE_FIELD_IMAGE:()=>Vd,ARIA_TYPE_FIELD_INPUT:()=>Fd,ARIA_TYPE_FIELD_NUMBER:()=>Ld,ARIA_TYPE_FIELD_TEXT_INPUT:()=>Id,ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT:()=>zd,ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE:()=>Rd,BACKSPACE_KEY:()=>Uc,BLOCK_LABEL_BEGIN_PREFIX:()=>_u,BLOCK_LABEL_BEGIN_STACK:()=>gu,BLOCK_LABEL_COLLAPSED:()=>bu,BLOCK_LABEL_CONTAINER:()=>Eu,BLOCK_LABEL_DISABLED:()=>yu,BLOCK_LABEL_HAS_BRANCHES:()=>wu,BLOCK_LABEL_HAS_INPUT:()=>Su,BLOCK_LABEL_HAS_INPUTS:()=>Cu,BLOCK_LABEL_REPLACEABLE:()=>xu,BLOCK_LABEL_STACK_BLOCKS:()=>Ou,BLOCK_LABEL_STATEMENT:()=>Tu,BLOCK_LABEL_TOOLBOX_CATEGORY:()=>vu,BLOCK_LABEL_VALUE:()=>Du,BUBBLE_LABEL_COMMENT:()=>tf,BUBBLE_LABEL_DEFAULT:()=>ef,BUBBLE_LABEL_WARNING:()=>nf,CANNOT_DELETE_VARIABLE_PROCEDURE:()=>et,CAPS_LOCK_KEY:()=>Jc,CHANGE_VALUE_TITLE:()=>Ve,CHROME_OS:()=>Fc,CLEAN_UP:()=>Ae,CLOSE:()=>je,CLOSE_BACKPACK:()=>Vf,COLLAPSED_WARNINGS_WARNING:()=>Oc,COLLAPSE_ALL:()=>Ne,COLLAPSE_BLOCK:()=>Me,COLOUR_BLEND_COLOUR1:()=>ht,COLOUR_BLEND_COLOUR2:()=>gt,COLOUR_BLEND_HELPURL:()=>pt,COLOUR_BLEND_RATIO:()=>_t,COLOUR_BLEND_TITLE:()=>mt,COLOUR_BLEND_TOOLTIP:()=>vt,COLOUR_HUE:()=>ve,COLOUR_PICKER_HELPURL:()=>nt,COLOUR_PICKER_TOOLTIP:()=>rt,COLOUR_RANDOM_HELPURL:()=>it,COLOUR_RANDOM_TITLE:()=>at,COLOUR_RANDOM_TOOLTIP:()=>ot,COLOUR_RGB_BLUE:()=>dt,COLOUR_RGB_GREEN:()=>ut,COLOUR_RGB_HELPURL:()=>st,COLOUR_RGB_RED:()=>lt,COLOUR_RGB_TITLE:()=>ct,COLOUR_RGB_TOOLTIP:()=>ft,COMMAND_KEY:()=>zc,CONTEXT_MENU_KEY:()=>nl,CONTROLS_FLOW_STATEMENTS_HELPURL:()=>Lt,CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:()=>Rt,CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:()=>zt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:()=>Bt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:()=>Vt,CONTROLS_FLOW_STATEMENTS_WARNING:()=>Ht,CONTROLS_FOREACH_HELPURL:()=>Nt,CONTROLS_FOREACH_INPUT_DO:()=>Ft,CONTROLS_FOREACH_TITLE:()=>Pt,CONTROLS_FOREACH_TOOLTIP:()=>It,CONTROLS_FOR_HELPURL:()=>kt,CONTROLS_FOR_INPUT_DO:()=>Mt,CONTROLS_FOR_TITLE:()=>jt,CONTROLS_FOR_TOOLTIP:()=>At,CONTROLS_IF_ELSEIF_TITLE_ELSEIF:()=>en,CONTROLS_IF_ELSEIF_TOOLTIP:()=>tn,CONTROLS_IF_ELSE_TITLE_ELSE:()=>nn,CONTROLS_IF_ELSE_TOOLTIP:()=>rn,CONTROLS_IF_HELPURL:()=>Ut,CONTROLS_IF_IF_TITLE_IF:()=>Qt,CONTROLS_IF_IF_TOOLTIP:()=>$t,CONTROLS_IF_MSG_ELSE:()=>Xt,CONTROLS_IF_MSG_ELSEIF:()=>Yt,CONTROLS_IF_MSG_IF:()=>Jt,CONTROLS_IF_MSG_THEN:()=>Zt,CONTROLS_IF_TOOLTIP_1:()=>Wt,CONTROLS_IF_TOOLTIP_2:()=>Gt,CONTROLS_IF_TOOLTIP_3:()=>Kt,CONTROLS_IF_TOOLTIP_4:()=>qt,CONTROLS_REPEAT_HELPURL:()=>yt,CONTROLS_REPEAT_INPUT_DO:()=>xt,CONTROLS_REPEAT_TITLE:()=>bt,CONTROLS_REPEAT_TOOLTIP:()=>St,CONTROLS_WHILEUNTIL_HELPURL:()=>Ct,CONTROLS_WHILEUNTIL_INPUT_DO:()=>wt,CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:()=>Et,CONTROLS_WHILEUNTIL_OPERATOR_WHILE:()=>Tt,CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:()=>Ot,CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:()=>Dt,CONTROL_KEY:()=>Rc,COPY_ALL_TO_BACKPACK:()=>Hf,COPY_SHORTCUT:()=>il,COPY_TO_BACKPACK:()=>Uf,CURRENT_BLOCK_ANNOUNCEMENT:()=>gf,CUT_SHORTCUT:()=>rl,DELETE_ALL_BLOCKS:()=>ke,DELETE_BLOCK:()=>De,DELETE_KEY:()=>Wc,DELETE_VARIABLE:()=>tt,DELETE_VARIABLE_CONFIRMATION:()=>$e,DELETE_X_BLOCKS:()=>Oe,DIALOG_CANCEL:()=>Ac,DIALOG_OK:()=>kc,DISABLE_BLOCK:()=>Ie,DUPLICATE_BLOCK:()=>M,DUPLICATE_COMMENT:()=>we,EDIT_BLOCK_CONTENTS:()=>jc,EMPTY_BACKPACK:()=>Wf,ENABLE_BLOCK:()=>Le,END_KEY:()=>Qc,ENTER_KEY:()=>Hc,ESCAPE:()=>Gc,EXPAND_ALL:()=>Fe,EXPAND_BLOCK:()=>Pe,EXTERNAL_INPUTS:()=>Te,FIELD_BITMAP_ARIA_VALUE:()=>zf,FIELD_BITMAP_BUTTON_LABEL_CLEAR:()=>Ff,FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE:()=>Pf,FIELD_BITMAP_PIXEL_LABEL:()=>Rf,FIELD_BITMAP_PIXEL_OFF:()=>Lf,FIELD_BITMAP_PIXEL_ON:()=>If,FIELD_LABEL_CHECKBOX_CHECKED:()=>Yd,FIELD_LABEL_CHECKBOX_UNCHECKED:()=>Xd,FIELD_LABEL_EDIT_PREFIX:()=>Ud,FIELD_LABEL_EMPTY:()=>Pd,FIELD_LABEL_OPTION_INDEX:()=>Jd,FIELD_LABEL_VARIABLE:()=>Zd,FIELD_MULTILINEINPUT_FINISH_EDITING:()=>qf,FIELD_MULTILINEINPUT_NEW_LINE:()=>Jf,HELP:()=>Re,HELP_PROMPT:()=>ol,HOME_KEY:()=>$c,ICON_LABEL_COMMENT_CLOSED:()=>af,ICON_LABEL_COMMENT_OPEN:()=>of,ICON_LABEL_DEFAULT:()=>rf,ICON_LABEL_MUTATOR_CLOSED:()=>sf,ICON_LABEL_MUTATOR_OPEN:()=>cf,ICON_LABEL_WARNING_CLOSED:()=>lf,ICON_LABEL_WARNING_OPEN:()=>uf,INLINE_INPUTS:()=>Ee,INPUT_LABEL_CONDITION:()=>Pu,INPUT_LABEL_CONDITION_A:()=>Fu,INPUT_LABEL_CONDITION_B:()=>Iu,INPUT_LABEL_EMPTY:()=>Nu,INPUT_LABEL_END_STATEMENT:()=>Mu,INPUT_LABEL_INDEX:()=>ku,INPUT_LABEL_LISTS_CREATE_WITH_ITEM:()=>md,INPUT_LABEL_LISTS_DELIMITER:()=>wd,INPUT_LABEL_LISTS_END_POSITION:()=>xd,INPUT_LABEL_LISTS_LIST_FROM_TEXT:()=>Sd,INPUT_LABEL_LISTS_POSITION:()=>yd,INPUT_LABEL_LISTS_REPEAT_ITEM:()=>hd,INPUT_LABEL_LISTS_REPEAT_NUM:()=>gd,INPUT_LABEL_LISTS_START_POSITION:()=>bd,INPUT_LABEL_LISTS_TEXT_FROM_LIST:()=>Cd,INPUT_LABEL_LISTS_TO_CHANGE:()=>Td,INPUT_LABEL_LISTS_TO_CHECK:()=>_d,INPUT_LABEL_LISTS_VALUE_TO_SET:()=>vd,INPUT_LABEL_LOOP_BY:()=>td,INPUT_LABEL_LOOP_FROM:()=>$u,INPUT_LABEL_LOOP_LIST:()=>nd,INPUT_LABEL_LOOP_TIMES:()=>Qu,INPUT_LABEL_LOOP_TO:()=>ed,INPUT_LABEL_MATH_CHANGE_BY:()=>Ku,INPUT_LABEL_MATH_CONSTRAIN_VALUE:()=>qu,INPUT_LABEL_MATH_DIVIDEND:()=>Wu,INPUT_LABEL_MATH_DIVISOR:()=>Gu,INPUT_LABEL_NUMBER:()=>zu,INPUT_LABEL_NUMBER_A:()=>Bu,INPUT_LABEL_NUMBER_ATAN2_X:()=>Xu,INPUT_LABEL_NUMBER_ATAN2_Y:()=>Zu,INPUT_LABEL_NUMBER_B:()=>Vu,INPUT_LABEL_NUMBER_LIST:()=>Uu,INPUT_LABEL_NUMBER_MAX:()=>Yu,INPUT_LABEL_NUMBER_MIN:()=>Ju,INPUT_LABEL_NUMBER_TO_CHECK:()=>Hu,INPUT_LABEL_STATEMENT:()=>ju,INPUT_LABEL_TEXT_APPEND:()=>id,INPUT_LABEL_TEXT_END_POSITION:()=>dd,INPUT_LABEL_TEXT_JOIN_ITEM:()=>rd,INPUT_LABEL_TEXT_POSITION:()=>ld,INPUT_LABEL_TEXT_PROMPT_MESSAGE:()=>fd,INPUT_LABEL_TEXT_START_POSITION:()=>ud,INPUT_LABEL_TEXT_TO_CHANGE:()=>ad,INPUT_LABEL_TEXT_TO_CHECK:()=>od,INPUT_LABEL_TEXT_TO_FIND:()=>sd,INPUT_LABEL_TEXT_TO_REPLACE:()=>cd,INPUT_LABEL_VALUE:()=>Au,INPUT_LABEL_VALUE_A:()=>Lu,INPUT_LABEL_VALUE_B:()=>Ru,INPUT_LABEL_VARIABLES_SET:()=>pd,INSERT_KEY:()=>el,KEYBOARD_NAV_BLOCK_NAVIGATION_HINT:()=>pu,KEYBOARD_NAV_CONSTRAINED_MOVE_HINT:()=>$l,KEYBOARD_NAV_COPIED_HINT:()=>eu,KEYBOARD_NAV_CUT_HINT:()=>tu,KEYBOARD_NAV_FLYOUT_LABEL_HINT:()=>hu,KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT:()=>Ql,KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT:()=>mu,LINUX:()=>Ic,LISTS_CREATE_EMPTY_HELPURL:()=>oo,LISTS_CREATE_EMPTY_TITLE:()=>so,LISTS_CREATE_EMPTY_TOOLTIP:()=>co,LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:()=>po,LISTS_CREATE_WITH_CONTAINER_TOOLTIP:()=>mo,LISTS_CREATE_WITH_HELPURL:()=>lo,LISTS_CREATE_WITH_INPUT_WITH:()=>fo,LISTS_CREATE_WITH_ITEM_TITLE:()=>ho,LISTS_CREATE_WITH_ITEM_TOOLTIP:()=>go,LISTS_CREATE_WITH_TOOLTIP:()=>uo,LISTS_GET_INDEX_FIRST:()=>Ro,LISTS_GET_INDEX_FROM_END:()=>Lo,LISTS_GET_INDEX_FROM_START:()=>Io,LISTS_GET_INDEX_GET:()=>No,LISTS_GET_INDEX_GET_REMOVE:()=>Po,LISTS_GET_INDEX_HELPURL:()=>Mo,LISTS_GET_INDEX_INPUT_IN_LIST:()=>Ho,LISTS_GET_INDEX_LAST:()=>zo,LISTS_GET_INDEX_RANDOM:()=>Bo,LISTS_GET_INDEX_REMOVE:()=>Fo,LISTS_GET_INDEX_TAIL:()=>Vo,LISTS_GET_INDEX_TOOLTIP_GET_FIRST:()=>Ko,LISTS_GET_INDEX_TOOLTIP_GET_FROM:()=>Go,LISTS_GET_INDEX_TOOLTIP_GET_LAST:()=>qo,LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:()=>Jo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:()=>Xo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:()=>Yo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:()=>Zo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:()=>Qo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:()=>es,LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:()=>$o,LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:()=>ts,LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:()=>ns,LISTS_GET_SUBLIST_END_FROM_END:()=>Ss,LISTS_GET_SUBLIST_END_FROM_START:()=>xs,LISTS_GET_SUBLIST_END_LAST:()=>Cs,LISTS_GET_SUBLIST_HELPURL:()=>gs,LISTS_GET_SUBLIST_INPUT_IN_LIST:()=>_s,LISTS_GET_SUBLIST_START_FIRST:()=>bs,LISTS_GET_SUBLIST_START_FROM_END:()=>ys,LISTS_GET_SUBLIST_START_FROM_START:()=>vs,LISTS_GET_SUBLIST_TAIL:()=>ws,LISTS_GET_SUBLIST_TOOLTIP:()=>Ts,LISTS_HUE:()=>_e,LISTS_INDEX_FROM_END_TOOLTIP:()=>Wo,LISTS_INDEX_FROM_START_TOOLTIP:()=>Uo,LISTS_INDEX_OF_FIRST:()=>ko,LISTS_INDEX_OF_HELPURL:()=>Do,LISTS_INDEX_OF_INPUT_IN_LIST:()=>Oo,LISTS_INDEX_OF_LAST:()=>Ao,LISTS_INDEX_OF_TOOLTIP:()=>jo,LISTS_INLIST:()=>Eo,LISTS_ISEMPTY_HELPURL:()=>Co,LISTS_ISEMPTY_TITLE:()=>wo,LISTS_ISEMPTY_TOOLTIP:()=>To,LISTS_LENGTH_HELPURL:()=>bo,LISTS_LENGTH_TITLE:()=>xo,LISTS_LENGTH_TOOLTIP:()=>So,LISTS_REPEAT_HELPURL:()=>_o,LISTS_REPEAT_TITLE:()=>yo,LISTS_REPEAT_TOOLTIP:()=>vo,LISTS_REVERSE_HELPURL:()=>zs,LISTS_REVERSE_MESSAGE0:()=>Bs,LISTS_REVERSE_TOOLTIP:()=>Vs,LISTS_SET_INDEX_HELPURL:()=>rs,LISTS_SET_INDEX_INPUT_IN_LIST:()=>is,LISTS_SET_INDEX_INPUT_TO:()=>ss,LISTS_SET_INDEX_INSERT:()=>os,LISTS_SET_INDEX_SET:()=>as,LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:()=>ps,LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:()=>fs,LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:()=>ms,LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:()=>hs,LISTS_SET_INDEX_TOOLTIP_SET_FIRST:()=>ls,LISTS_SET_INDEX_TOOLTIP_SET_FROM:()=>cs,LISTS_SET_INDEX_TOOLTIP_SET_LAST:()=>us,LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:()=>ds,LISTS_SORT_HELPURL:()=>Es,LISTS_SORT_ORDER_ASCENDING:()=>Os,LISTS_SORT_ORDER_DESCENDING:()=>ks,LISTS_SORT_TITLE:()=>N,LISTS_SORT_TOOLTIP:()=>Ds,LISTS_SORT_TYPE_IGNORECASE:()=>Ms,LISTS_SORT_TYPE_NUMERIC:()=>As,LISTS_SORT_TYPE_TEXT:()=>js,LISTS_SPLIT_HELPURL:()=>Ns,LISTS_SPLIT_LIST_FROM_TEXT:()=>Ps,LISTS_SPLIT_TEXT_FROM_LIST:()=>Fs,LISTS_SPLIT_TOOLTIP_JOIN:()=>Rs,LISTS_SPLIT_TOOLTIP_SPLIT:()=>Ls,LISTS_SPLIT_WITH_DELIMITER:()=>Is,LOGIC_BOOLEAN_FALSE:()=>On,LOGIC_BOOLEAN_HELPURL:()=>En,LOGIC_BOOLEAN_TOOLTIP:()=>kn,LOGIC_BOOLEAN_TRUE:()=>Dn,LOGIC_COMPARE_EQ_ARIA:()=>on,LOGIC_COMPARE_GTE_ARIA:()=>gn,LOGIC_COMPARE_GT_ARIA:()=>mn,LOGIC_COMPARE_HELPURL:()=>an,LOGIC_COMPARE_LTE_ARIA:()=>fn,LOGIC_COMPARE_LT_ARIA:()=>un,LOGIC_COMPARE_NEQ_ARIA:()=>cn,LOGIC_COMPARE_TOOLTIP_EQ:()=>sn,LOGIC_COMPARE_TOOLTIP_GT:()=>hn,LOGIC_COMPARE_TOOLTIP_GTE:()=>_n,LOGIC_COMPARE_TOOLTIP_LT:()=>dn,LOGIC_COMPARE_TOOLTIP_LTE:()=>pn,LOGIC_COMPARE_TOOLTIP_NEQ:()=>ln,LOGIC_HUE:()=>pe,LOGIC_NEGATE_HELPURL:()=>Cn,LOGIC_NEGATE_TITLE:()=>wn,LOGIC_NEGATE_TOOLTIP:()=>Tn,LOGIC_NULL:()=>jn,LOGIC_NULL_HELPURL:()=>An,LOGIC_NULL_TOOLTIP:()=>Mn,LOGIC_OPERATION_AND:()=>bn,LOGIC_OPERATION_HELPURL:()=>vn,LOGIC_OPERATION_OR:()=>Sn,LOGIC_OPERATION_TOOLTIP_AND:()=>yn,LOGIC_OPERATION_TOOLTIP_OR:()=>xn,LOGIC_TERNARY_CONDITION:()=>Pn,LOGIC_TERNARY_HELPURL:()=>Nn,LOGIC_TERNARY_IF_FALSE:()=>In,LOGIC_TERNARY_IF_TRUE:()=>Fn,LOGIC_TERNARY_TOOLTIP:()=>Ln,LOOPS_HUE:()=>me,MAC_OS:()=>Pc,MATH_ADDITION_SYMBOL:()=>Bn,MATH_ADDITION_SYMBOL_ARIA:()=>Vn,MATH_ARITHMETIC_HELPURL:()=>mr,MATH_ARITHMETIC_TOOLTIP_ADD:()=>hr,MATH_ARITHMETIC_TOOLTIP_DIVIDE:()=>vr,MATH_ARITHMETIC_TOOLTIP_MINUS:()=>gr,MATH_ARITHMETIC_TOOLTIP_MULTIPLY:()=>_r,MATH_ARITHMETIC_TOOLTIP_POWER:()=>yr,MATH_ATAN2_HELPURL:()=>zi,MATH_ATAN2_TITLE:()=>Bi,MATH_ATAN2_TOOLTIP:()=>Vi,MATH_CHANGE_HELPURL:()=>$r,MATH_CHANGE_TITLE:()=>ei,MATH_CHANGE_TITLE_ITEM:()=>ti,MATH_CHANGE_TOOLTIP:()=>ni,MATH_CONSTANT_E_ARIA:()=>lr,MATH_CONSTANT_GOLDEN_RATIO_ARIA:()=>ur,MATH_CONSTANT_HELPURL:()=>Ur,MATH_CONSTANT_INFINITY_ARIA:()=>pr,MATH_CONSTANT_PI_ARIA:()=>cr,MATH_CONSTANT_SQRT1_2_ARIA:()=>fr,MATH_CONSTANT_SQRT2_ARIA:()=>dr,MATH_CONSTANT_TOOLTIP:()=>Wr,MATH_CONSTRAIN_HELPURL:()=>Ai,MATH_CONSTRAIN_TITLE:()=>ji,MATH_CONSTRAIN_TOOLTIP:()=>Mi,MATH_DIVISION_SYMBOL:()=>Wn,MATH_DIVISION_SYMBOL_ARIA:()=>Gn,MATH_HUE:()=>he,MATH_IS_DIVISIBLE_BY:()=>Zr,MATH_IS_EVEN:()=>Gr,MATH_IS_NEGATIVE:()=>Xr,MATH_IS_ODD:()=>Kr,MATH_IS_POSITIVE:()=>Yr,MATH_IS_PRIME:()=>qr,MATH_IS_TOOLTIP:()=>Qr,MATH_IS_WHOLE:()=>Jr,MATH_MODULO_HELPURL:()=>Di,MATH_MODULO_TITLE:()=>Oi,MATH_MODULO_TOOLTIP:()=>ki,MATH_MULTIPLICATION_SYMBOL:()=>Kn,MATH_MULTIPLICATION_SYMBOL_ARIA:()=>qn,MATH_NUMBER_HELPURL:()=>Rn,MATH_NUMBER_TOOLTIP:()=>zn,MATH_ONLIST_HELPURL:()=>ci,MATH_ONLIST_OPERATOR_AVERAGE:()=>_i,MATH_ONLIST_OPERATOR_MAX:()=>mi,MATH_ONLIST_OPERATOR_MAX_ARIA:()=>hi,MATH_ONLIST_OPERATOR_MEDIAN:()=>yi,MATH_ONLIST_OPERATOR_MIN:()=>di,MATH_ONLIST_OPERATOR_MIN_ARIA:()=>fi,MATH_ONLIST_OPERATOR_MODE:()=>xi,MATH_ONLIST_OPERATOR_RANDOM:()=>Ti,MATH_ONLIST_OPERATOR_STD_DEV:()=>Ci,MATH_ONLIST_OPERATOR_SUM:()=>li,MATH_ONLIST_TOOLTIP_AVERAGE:()=>vi,MATH_ONLIST_TOOLTIP_MAX:()=>gi,MATH_ONLIST_TOOLTIP_MEDIAN:()=>bi,MATH_ONLIST_TOOLTIP_MIN:()=>pi,MATH_ONLIST_TOOLTIP_MODE:()=>Si,MATH_ONLIST_TOOLTIP_RANDOM:()=>Ei,MATH_ONLIST_TOOLTIP_STD_DEV:()=>wi,MATH_ONLIST_TOOLTIP_SUM:()=>ui,MATH_POWER_SYMBOL:()=>Jn,MATH_POWER_SYMBOL_ARIA:()=>Yn,MATH_RANDOM_FLOAT_HELPURL:()=>Ii,MATH_RANDOM_FLOAT_TITLE_RANDOM:()=>Li,MATH_RANDOM_FLOAT_TOOLTIP:()=>Ri,MATH_RANDOM_INT_HELPURL:()=>Ni,MATH_RANDOM_INT_TITLE:()=>Pi,MATH_RANDOM_INT_TOOLTIP:()=>Fi,MATH_ROUND_HELPURL:()=>ri,MATH_ROUND_OPERATOR_ROUND:()=>ai,MATH_ROUND_OPERATOR_ROUNDDOWN:()=>si,MATH_ROUND_OPERATOR_ROUNDUP:()=>oi,MATH_ROUND_TOOLTIP:()=>ii,MATH_SINGLE_HELPURL:()=>br,MATH_SINGLE_OP_ABSOLUTE:()=>Cr,MATH_SINGLE_OP_ABSOLUTE_ARIA:()=>wr,MATH_SINGLE_OP_EXP_ARIA:()=>kr,MATH_SINGLE_OP_LN_ARIA:()=>Dr,MATH_SINGLE_OP_LOG10_ARIA:()=>Or,MATH_SINGLE_OP_NEG_ARIA:()=>Er,MATH_SINGLE_OP_POW10_ARIA:()=>Ar,MATH_SINGLE_OP_ROOT:()=>xr,MATH_SINGLE_TOOLTIP_ABS:()=>Tr,MATH_SINGLE_TOOLTIP_EXP:()=>Pr,MATH_SINGLE_TOOLTIP_LN:()=>Mr,MATH_SINGLE_TOOLTIP_LOG10:()=>Nr,MATH_SINGLE_TOOLTIP_NEG:()=>jr,MATH_SINGLE_TOOLTIP_POW10:()=>Fr,MATH_SINGLE_TOOLTIP_ROOT:()=>Sr,MATH_SUBTRACTION_SYMBOL:()=>Hn,MATH_SUBTRACTION_SYMBOL_ARIA:()=>Un,MATH_TRIG_ACOS:()=>ir,MATH_TRIG_ACOS_ARIA:()=>ar,MATH_TRIG_ASIN:()=>nr,MATH_TRIG_ASIN_ARIA:()=>rr,MATH_TRIG_ATAN:()=>or,MATH_TRIG_ATAN_ARIA:()=>sr,MATH_TRIG_COS:()=>Qn,MATH_TRIG_COS_ARIA:()=>$n,MATH_TRIG_HELPURL:()=>Ir,MATH_TRIG_SIN:()=>Xn,MATH_TRIG_SIN_ARIA:()=>Zn,MATH_TRIG_TAN:()=>er,MATH_TRIG_TAN_ARIA:()=>tr,MATH_TRIG_TOOLTIP_ACOS:()=>Vr,MATH_TRIG_TOOLTIP_ASIN:()=>Br,MATH_TRIG_TOOLTIP_ATAN:()=>Hr,MATH_TRIG_TOOLTIP_COS:()=>Rr,MATH_TRIG_TOOLTIP_SIN:()=>Lr,MATH_TRIG_TOOLTIP_TAN:()=>zr,MINIMAP_ARIA_LABEL:()=>Xf,MOVE_BLOCK:()=>Mc,NEW_COLOUR_VARIABLE:()=>qe,NEW_NUMBER_VARIABLE:()=>Ke,NEW_STRING_VARIABLE:()=>Ge,NEW_VARIABLE:()=>We,NEW_VARIABLE_TITLE:()=>Ye,NEW_VARIABLE_TYPE_TITLE:()=>Je,NO_PARENT_ANNOUNCEMENT:()=>vf,OPEN_BACKPACK:()=>Bf,OPEN_TRASH:()=>Wd,OPTION_KEY:()=>Bc,ORDINAL_NUMBER_SUFFIX:()=>Hs,PAGE_DOWN_KEY:()=>Zc,PAGE_UP_KEY:()=>Xc,PARENT_BLOCKS_ANNOUNCEMENT:()=>_f,PASTE_ALL_FROM_BACKPACK:()=>Gf,PASTE_SHORTCUT:()=>al,PAUSE_KEY:()=>tl,PROCEDURES_ALLOW_STATEMENTS:()=>fc,PROCEDURES_BEFORE_PARAMS:()=>$s,PROCEDURES_CALLNORETURN_HELPURL:()=>mc,PROCEDURES_CALLNORETURN_TOOLTIP:()=>hc,PROCEDURES_CALLRETURN_HELPURL:()=>gc,PROCEDURES_CALLRETURN_TOOLTIP:()=>_c,PROCEDURES_CALL_BEFORE_PARAMS:()=>ec,PROCEDURES_CALL_DISABLED_DEF_WARNING:()=>tc,PROCEDURES_CREATE_DO:()=>Cc,PROCEDURES_DEFNORETURN_COMMENT:()=>ic,PROCEDURES_DEFNORETURN_DO:()=>nc,PROCEDURES_DEFNORETURN_HELPURL:()=>Xs,PROCEDURES_DEFNORETURN_PROCEDURE:()=>Qs,PROCEDURES_DEFNORETURN_TITLE:()=>Zs,PROCEDURES_DEFNORETURN_TOOLTIP:()=>rc,PROCEDURES_DEFRETURN_COMMENT:()=>lc,PROCEDURES_DEFRETURN_DO:()=>cc,PROCEDURES_DEFRETURN_HELPURL:()=>ac,PROCEDURES_DEFRETURN_PROCEDURE:()=>sc,PROCEDURES_DEFRETURN_RETURN:()=>uc,PROCEDURES_DEFRETURN_TITLE:()=>oc,PROCEDURES_DEFRETURN_TOOLTIP:()=>dc,PROCEDURES_DEF_DUPLICATE_WARNING:()=>pc,PROCEDURES_HIGHLIGHT_DEF:()=>Sc,PROCEDURES_HUE:()=>xe,PROCEDURES_IFRETURN_HELPURL:()=>Tc,PROCEDURES_IFRETURN_TOOLTIP:()=>wc,PROCEDURES_IFRETURN_WARNING:()=>Ec,PROCEDURES_MUTATORARG_TITLE:()=>bc,PROCEDURES_MUTATORARG_TOOLTIP:()=>xc,PROCEDURES_MUTATORCONTAINER_TITLE:()=>vc,PROCEDURES_MUTATORCONTAINER_TOOLTIP:()=>yc,REDO:()=>Be,REMOVE_COMMENT:()=>Ce,REMOVE_FROM_BACKPACK:()=>Kf,RENAME_VARIABLE:()=>He,RENAME_VARIABLE_TITLE:()=>Ue,RESET_ZOOM:()=>qd,SCREENREADER_HINT:()=>yf,SCREENREADER_MODE_DISABLED:()=>hf,SCREENREADER_MODE_ENABLED:()=>mf,SHIFT_KEY:()=>qc,SHORTCUTS_ABORT_MOVE:()=>yl,SHORTCUTS_CLEANUP:()=>Ml,SHORTCUTS_CODE_NAVIGATION:()=>ll,SHORTCUTS_DELETE:()=>dl,SHORTCUTS_DISCONNECT:()=>Tl,SHORTCUTS_DUPLICATE:()=>jl,SHORTCUTS_EDITING:()=>cl,SHORTCUTS_ESCAPE:()=>ul,SHORTCUTS_EXTENDED_INFORMATION:()=>wl,SHORTCUTS_FINISH_MOVE:()=>vl,SHORTCUTS_FOCUS_TOOLBOX:()=>Sl,SHORTCUTS_FOCUS_WORKSPACE:()=>xl,SHORTCUTS_GENERAL:()=>sl,SHORTCUTS_INFORMATION:()=>Cl,SHORTCUTS_JUMP_BLOCK_END:()=>Il,SHORTCUTS_JUMP_BLOCK_START:()=>Fl,SHORTCUTS_JUMP_BOTTOM_STACK:()=>Rl,SHORTCUTS_JUMP_FIRST_BLOCK:()=>zl,SHORTCUTS_JUMP_LAST_BLOCK:()=>Bl,SHORTCUTS_JUMP_NEXT_PAGE:()=>Hl,SHORTCUTS_JUMP_PREVIOUS_PAGE:()=>Vl,SHORTCUTS_JUMP_TOP_STACK:()=>Ll,SHORTCUTS_MOVE_DOWN:()=>_l,SHORTCUTS_MOVE_LEFT:()=>ml,SHORTCUTS_MOVE_RIGHT:()=>hl,SHORTCUTS_MOVE_UP:()=>gl,SHORTCUTS_NEXT_HEADING:()=>Ol,SHORTCUTS_NEXT_STACK:()=>El,SHORTCUTS_PERFORM_ACTION:()=>Al,SHORTCUTS_PREVIOUS_HEADING:()=>kl,SHORTCUTS_PREVIOUS_STACK:()=>Dl,SHORTCUTS_SCROLL_DOWN:()=>Kl,SHORTCUTS_SCROLL_LEFT:()=>Ul,SHORTCUTS_SCROLL_RIGHT:()=>Wl,SHORTCUTS_SCROLL_UP:()=>Gl,SHORTCUTS_SHOW_CONTEXT_MENU:()=>bl,SHORTCUTS_SHOW_TOOLTIP:()=>Nl,SHORTCUTS_START_MOVE:()=>fl,SHORTCUTS_START_MOVE_STACK:()=>pl,SHORTCUTS_TOGGLE_SCREENREADER_MODE:()=>Pl,SPACE_KEY:()=>Yc,TAB_KEY:()=>Kc,TEXTS_HUE:()=>ge,TEXT_APPEND_HELPURL:()=>Zi,TEXT_APPEND_TITLE:()=>Qi,TEXT_APPEND_TOOLTIP:()=>ea,TEXT_APPEND_VARIABLE:()=>$i,TEXT_CHANGECASE_HELPURL:()=>Na,TEXT_CHANGECASE_OPERATOR_LOWERCASE:()=>Ia,TEXT_CHANGECASE_OPERATOR_TITLECASE:()=>La,TEXT_CHANGECASE_OPERATOR_UPPERCASE:()=>Fa,TEXT_CHANGECASE_TOOLTIP:()=>Pa,TEXT_CHARAT_FIRST:()=>va,TEXT_CHARAT_FROM_END:()=>_a,TEXT_CHARAT_FROM_START:()=>ga,TEXT_CHARAT_HELPURL:()=>ma,TEXT_CHARAT_LAST:()=>ya,TEXT_CHARAT_RANDOM:()=>ba,TEXT_CHARAT_TAIL:()=>xa,TEXT_CHARAT_TITLE:()=>ha,TEXT_CHARAT_TOOLTIP:()=>Sa,TEXT_COUNT_HELPURL:()=>Qa,TEXT_COUNT_MESSAGE0:()=>Za,TEXT_COUNT_TOOLTIP:()=>$a,TEXT_CREATE_JOIN_ITEM_TITLE_ITEM:()=>Yi,TEXT_CREATE_JOIN_ITEM_TOOLTIP:()=>Xi,TEXT_CREATE_JOIN_TITLE_JOIN:()=>qi,TEXT_CREATE_JOIN_TOOLTIP:()=>Ji,TEXT_FROM_END_ARIA:()=>pa,TEXT_FROM_START_ARIA:()=>fa,TEXT_GET_SUBSTRING_END_FROM_END:()=>Aa,TEXT_GET_SUBSTRING_END_FROM_START:()=>ka,TEXT_GET_SUBSTRING_END_LAST:()=>ja,TEXT_GET_SUBSTRING_HELPURL:()=>wa,TEXT_GET_SUBSTRING_INPUT_IN_TEXT:()=>Ta,TEXT_GET_SUBSTRING_START_FIRST:()=>Oa,TEXT_GET_SUBSTRING_START_FROM_END:()=>Da,TEXT_GET_SUBSTRING_START_FROM_START:()=>Ea,TEXT_GET_SUBSTRING_TAIL:()=>Ma,TEXT_GET_SUBSTRING_TOOLTIP:()=>Ca,TEXT_INDEXOF_HELPURL:()=>sa,TEXT_INDEXOF_OPERATOR_FIRST:()=>ua,TEXT_INDEXOF_OPERATOR_LAST:()=>da,TEXT_INDEXOF_TITLE:()=>la,TEXT_INDEXOF_TOOLTIP:()=>ca,TEXT_ISEMPTY_HELPURL:()=>ia,TEXT_ISEMPTY_TITLE:()=>aa,TEXT_ISEMPTY_TOOLTIP:()=>oa,TEXT_JOIN_HELPURL:()=>Wi,TEXT_JOIN_TITLE_CREATEWITH:()=>Gi,TEXT_JOIN_TOOLTIP:()=>Ki,TEXT_LENGTH_HELPURL:()=>ta,TEXT_LENGTH_TITLE:()=>na,TEXT_LENGTH_TOOLTIP:()=>ra,TEXT_PRINT_HELPURL:()=>Ua,TEXT_PRINT_TITLE:()=>Wa,TEXT_PRINT_TOOLTIP:()=>Ga,TEXT_PROMPT_HELPURL:()=>Ka,TEXT_PROMPT_TOOLTIP_NUMBER:()=>Ya,TEXT_PROMPT_TOOLTIP_TEXT:()=>Xa,TEXT_PROMPT_TYPE_NUMBER:()=>Ja,TEXT_PROMPT_TYPE_TEXT:()=>qa,TEXT_REPLACE_HELPURL:()=>to,TEXT_REPLACE_MESSAGE0:()=>eo,TEXT_REPLACE_TOOLTIP:()=>no,TEXT_REVERSE_HELPURL:()=>io,TEXT_REVERSE_MESSAGE0:()=>ro,TEXT_REVERSE_TOOLTIP:()=>ao,TEXT_TEXT_HELPURL:()=>Hi,TEXT_TEXT_TOOLTIP:()=>Ui,TEXT_TRIM_HELPURL:()=>Ra,TEXT_TRIM_OPERATOR_BOTH:()=>Ba,TEXT_TRIM_OPERATOR_LEFT:()=>Va,TEXT_TRIM_OPERATOR_RIGHT:()=>Ha,TEXT_TRIM_TOOLTIP:()=>za,TODAY:()=>j,UNDO:()=>ze,UNKNOWN:()=>Lc,UNNAMED_KEY:()=>A,VARIABLES_DEFAULT_NAME:()=>k,VARIABLES_DYNAMIC_HUE:()=>be,VARIABLES_GET_CREATE_SET:()=>Gs,VARIABLES_GET_HELPURL:()=>Us,VARIABLES_GET_TOOLTIP:()=>Ws,VARIABLES_HUE:()=>ye,VARIABLES_SET:()=>qs,VARIABLES_SET_CREATE_GET:()=>Ys,VARIABLES_SET_HELPURL:()=>Ks,VARIABLES_SET_TOOLTIP:()=>Js,VARIABLE_ALREADY_EXISTS:()=>Xe,VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE:()=>Ze,VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER:()=>Qe,WINDOWS:()=>Nc,WORKSPACE_COMMENT_DEFAULT_TEXT:()=>Dc,WORKSPACE_CONTENTS_BLOCKS_MANY:()=>cu,WORKSPACE_CONTENTS_BLOCKS_ONE:()=>lu,WORKSPACE_CONTENTS_BLOCKS_ZERO:()=>uu,WORKSPACE_CONTENTS_COMMENTS_MANY:()=>du,WORKSPACE_CONTENTS_COMMENTS_ONE:()=>fu,WORKSPACE_LABEL_1_STACK:()=>iu,WORKSPACE_LABEL_FLYOUT_WORKSPACE:()=>su,WORKSPACE_LABEL_MANY_STACKS:()=>au,WORKSPACE_LABEL_MUTATOR_WORKSPACE:()=>ou,WORKSPACE_LABEL_PLAIN:()=>nu,WORKSPACE_ROLEDESCRIPTION:()=>ru,WORKSPACE_SEARCH_CLOSE:()=>np,WORKSPACE_SEARCH_FIND_NEXT:()=>ep,WORKSPACE_SEARCH_FIND_PREVIOUS:()=>tp,WORKSPACE_SEARCH_INPUT_LABEL:()=>$f,WORKSPACE_SEARCH_MATCH:()=>ip,WORKSPACE_SEARCH_NO_MATCHES:()=>rp,WORKSPACE_SEARCH_PLACEHOLDER:()=>Qf,ZOOM_IN:()=>Gd,ZOOM_OUT:()=>Kd,ZOOM_TO_FIT_ARIA_LABEL:()=>Yf}),{LOGIC_HUE:pe,LOOPS_HUE:me,MATH_HUE:he,TEXTS_HUE:ge,LISTS_HUE:_e,COLOUR_HUE:ve,VARIABLES_HUE:ye,VARIABLES_DYNAMIC_HUE:be,PROCEDURES_HUE:xe,VARIABLES_DEFAULT_NAME:k,UNNAMED_KEY:A,TODAY:j,DUPLICATE_BLOCK:M,ADD_COMMENT:Se,REMOVE_COMMENT:Ce,DUPLICATE_COMMENT:we,EXTERNAL_INPUTS:Te,INLINE_INPUTS:Ee,DELETE_BLOCK:De,DELETE_X_BLOCKS:Oe,DELETE_ALL_BLOCKS:ke,CLEAN_UP:Ae,CLOSE:je,COLLAPSE_BLOCK:Me,COLLAPSE_ALL:Ne,EXPAND_BLOCK:Pe,EXPAND_ALL:Fe,DISABLE_BLOCK:Ie,ENABLE_BLOCK:Le,HELP:Re,UNDO:ze,REDO:Be,CHANGE_VALUE_TITLE:Ve,RENAME_VARIABLE:He,RENAME_VARIABLE_TITLE:Ue,NEW_VARIABLE:We,NEW_STRING_VARIABLE:Ge,NEW_NUMBER_VARIABLE:Ke,NEW_COLOUR_VARIABLE:qe,NEW_VARIABLE_TYPE_TITLE:Je,NEW_VARIABLE_TITLE:Ye,VARIABLE_ALREADY_EXISTS:Xe,VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE:Ze,VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER:Qe,DELETE_VARIABLE_CONFIRMATION:$e,CANNOT_DELETE_VARIABLE_PROCEDURE:et,DELETE_VARIABLE:tt,COLOUR_PICKER_HELPURL:nt,COLOUR_PICKER_TOOLTIP:rt,COLOUR_RANDOM_HELPURL:it,COLOUR_RANDOM_TITLE:at,COLOUR_RANDOM_TOOLTIP:ot,COLOUR_RGB_HELPURL:st,COLOUR_RGB_TITLE:ct,COLOUR_RGB_RED:lt,COLOUR_RGB_GREEN:ut,COLOUR_RGB_BLUE:dt,COLOUR_RGB_TOOLTIP:ft,COLOUR_BLEND_HELPURL:pt,COLOUR_BLEND_TITLE:mt,COLOUR_BLEND_COLOUR1:ht,COLOUR_BLEND_COLOUR2:gt,COLOUR_BLEND_RATIO:_t,COLOUR_BLEND_TOOLTIP:vt,CONTROLS_REPEAT_HELPURL:yt,CONTROLS_REPEAT_TITLE:bt,CONTROLS_REPEAT_INPUT_DO:xt,CONTROLS_REPEAT_TOOLTIP:St,CONTROLS_WHILEUNTIL_HELPURL:Ct,CONTROLS_WHILEUNTIL_INPUT_DO:wt,CONTROLS_WHILEUNTIL_OPERATOR_WHILE:Tt,CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:Et,CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:Dt,CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:Ot,CONTROLS_FOR_HELPURL:kt,CONTROLS_FOR_TOOLTIP:At,CONTROLS_FOR_TITLE:jt,CONTROLS_FOR_INPUT_DO:Mt,CONTROLS_FOREACH_HELPURL:Nt,CONTROLS_FOREACH_TITLE:Pt,CONTROLS_FOREACH_INPUT_DO:Ft,CONTROLS_FOREACH_TOOLTIP:It,CONTROLS_FLOW_STATEMENTS_HELPURL:Lt,CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:Rt,CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:zt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:Bt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:Vt,CONTROLS_FLOW_STATEMENTS_WARNING:Ht,CONTROLS_IF_HELPURL:Ut,CONTROLS_IF_TOOLTIP_1:Wt,CONTROLS_IF_TOOLTIP_2:Gt,CONTROLS_IF_TOOLTIP_3:Kt,CONTROLS_IF_TOOLTIP_4:qt,CONTROLS_IF_MSG_IF:Jt,CONTROLS_IF_MSG_ELSEIF:Yt,CONTROLS_IF_MSG_ELSE:Xt,CONTROLS_IF_MSG_THEN:Zt,CONTROLS_IF_IF_TITLE_IF:Qt,CONTROLS_IF_IF_TOOLTIP:$t,CONTROLS_IF_ELSEIF_TITLE_ELSEIF:en,CONTROLS_IF_ELSEIF_TOOLTIP:tn,CONTROLS_IF_ELSE_TITLE_ELSE:nn,CONTROLS_IF_ELSE_TOOLTIP:rn,LOGIC_COMPARE_HELPURL:an,LOGIC_COMPARE_EQ_ARIA:on,LOGIC_COMPARE_TOOLTIP_EQ:sn,LOGIC_COMPARE_NEQ_ARIA:cn,LOGIC_COMPARE_TOOLTIP_NEQ:ln,LOGIC_COMPARE_LT_ARIA:un,LOGIC_COMPARE_TOOLTIP_LT:dn,LOGIC_COMPARE_LTE_ARIA:fn,LOGIC_COMPARE_TOOLTIP_LTE:pn,LOGIC_COMPARE_GT_ARIA:mn,LOGIC_COMPARE_TOOLTIP_GT:hn,LOGIC_COMPARE_GTE_ARIA:gn,LOGIC_COMPARE_TOOLTIP_GTE:_n,LOGIC_OPERATION_HELPURL:vn,LOGIC_OPERATION_TOOLTIP_AND:yn,LOGIC_OPERATION_AND:bn,LOGIC_OPERATION_TOOLTIP_OR:xn,LOGIC_OPERATION_OR:Sn,LOGIC_NEGATE_HELPURL:Cn,LOGIC_NEGATE_TITLE:wn,LOGIC_NEGATE_TOOLTIP:Tn,LOGIC_BOOLEAN_HELPURL:En,LOGIC_BOOLEAN_TRUE:Dn,LOGIC_BOOLEAN_FALSE:On,LOGIC_BOOLEAN_TOOLTIP:kn,LOGIC_NULL_HELPURL:An,LOGIC_NULL:jn,LOGIC_NULL_TOOLTIP:Mn,LOGIC_TERNARY_HELPURL:Nn,LOGIC_TERNARY_CONDITION:Pn,LOGIC_TERNARY_IF_TRUE:Fn,LOGIC_TERNARY_IF_FALSE:In,LOGIC_TERNARY_TOOLTIP:Ln,MATH_NUMBER_HELPURL:Rn,MATH_NUMBER_TOOLTIP:zn,MATH_ADDITION_SYMBOL:Bn,MATH_ADDITION_SYMBOL_ARIA:Vn,MATH_SUBTRACTION_SYMBOL:Hn,MATH_SUBTRACTION_SYMBOL_ARIA:Un,MATH_DIVISION_SYMBOL:Wn,MATH_DIVISION_SYMBOL_ARIA:Gn,MATH_MULTIPLICATION_SYMBOL:Kn,MATH_MULTIPLICATION_SYMBOL_ARIA:qn,MATH_POWER_SYMBOL:Jn,MATH_POWER_SYMBOL_ARIA:Yn,MATH_TRIG_SIN:Xn,MATH_TRIG_SIN_ARIA:Zn,MATH_TRIG_COS:Qn,MATH_TRIG_COS_ARIA:$n,MATH_TRIG_TAN:er,MATH_TRIG_TAN_ARIA:tr,MATH_TRIG_ASIN:nr,MATH_TRIG_ASIN_ARIA:rr,MATH_TRIG_ACOS:ir,MATH_TRIG_ACOS_ARIA:ar,MATH_TRIG_ATAN:or,MATH_TRIG_ATAN_ARIA:sr,MATH_CONSTANT_PI_ARIA:cr,MATH_CONSTANT_E_ARIA:lr,MATH_CONSTANT_GOLDEN_RATIO_ARIA:ur,MATH_CONSTANT_SQRT2_ARIA:dr,MATH_CONSTANT_SQRT1_2_ARIA:fr,MATH_CONSTANT_INFINITY_ARIA:pr,MATH_ARITHMETIC_HELPURL:mr,MATH_ARITHMETIC_TOOLTIP_ADD:hr,MATH_ARITHMETIC_TOOLTIP_MINUS:gr,MATH_ARITHMETIC_TOOLTIP_MULTIPLY:_r,MATH_ARITHMETIC_TOOLTIP_DIVIDE:vr,MATH_ARITHMETIC_TOOLTIP_POWER:yr,MATH_SINGLE_HELPURL:br,MATH_SINGLE_OP_ROOT:xr,MATH_SINGLE_TOOLTIP_ROOT:Sr,MATH_SINGLE_OP_ABSOLUTE:Cr,MATH_SINGLE_OP_ABSOLUTE_ARIA:wr,MATH_SINGLE_TOOLTIP_ABS:Tr,MATH_SINGLE_OP_NEG_ARIA:Er,MATH_SINGLE_OP_LN_ARIA:Dr,MATH_SINGLE_OP_LOG10_ARIA:Or,MATH_SINGLE_OP_EXP_ARIA:kr,MATH_SINGLE_OP_POW10_ARIA:Ar,MATH_SINGLE_TOOLTIP_NEG:jr,MATH_SINGLE_TOOLTIP_LN:Mr,MATH_SINGLE_TOOLTIP_LOG10:Nr,MATH_SINGLE_TOOLTIP_EXP:Pr,MATH_SINGLE_TOOLTIP_POW10:Fr,MATH_TRIG_HELPURL:Ir,MATH_TRIG_TOOLTIP_SIN:Lr,MATH_TRIG_TOOLTIP_COS:Rr,MATH_TRIG_TOOLTIP_TAN:zr,MATH_TRIG_TOOLTIP_ASIN:Br,MATH_TRIG_TOOLTIP_ACOS:Vr,MATH_TRIG_TOOLTIP_ATAN:Hr,MATH_CONSTANT_HELPURL:Ur,MATH_CONSTANT_TOOLTIP:Wr,MATH_IS_EVEN:Gr,MATH_IS_ODD:Kr,MATH_IS_PRIME:qr,MATH_IS_WHOLE:Jr,MATH_IS_POSITIVE:Yr,MATH_IS_NEGATIVE:Xr,MATH_IS_DIVISIBLE_BY:Zr,MATH_IS_TOOLTIP:Qr,MATH_CHANGE_HELPURL:$r,MATH_CHANGE_TITLE:ei,MATH_CHANGE_TITLE_ITEM:ti,MATH_CHANGE_TOOLTIP:ni,MATH_ROUND_HELPURL:ri,MATH_ROUND_TOOLTIP:ii,MATH_ROUND_OPERATOR_ROUND:ai,MATH_ROUND_OPERATOR_ROUNDUP:oi,MATH_ROUND_OPERATOR_ROUNDDOWN:si,MATH_ONLIST_HELPURL:ci,MATH_ONLIST_OPERATOR_SUM:li,MATH_ONLIST_TOOLTIP_SUM:ui,MATH_ONLIST_OPERATOR_MIN:di,MATH_ONLIST_OPERATOR_MIN_ARIA:fi,MATH_ONLIST_TOOLTIP_MIN:pi,MATH_ONLIST_OPERATOR_MAX:mi,MATH_ONLIST_OPERATOR_MAX_ARIA:hi,MATH_ONLIST_TOOLTIP_MAX:gi,MATH_ONLIST_OPERATOR_AVERAGE:_i,MATH_ONLIST_TOOLTIP_AVERAGE:vi,MATH_ONLIST_OPERATOR_MEDIAN:yi,MATH_ONLIST_TOOLTIP_MEDIAN:bi,MATH_ONLIST_OPERATOR_MODE:xi,MATH_ONLIST_TOOLTIP_MODE:Si,MATH_ONLIST_OPERATOR_STD_DEV:Ci,MATH_ONLIST_TOOLTIP_STD_DEV:wi,MATH_ONLIST_OPERATOR_RANDOM:Ti,MATH_ONLIST_TOOLTIP_RANDOM:Ei,MATH_MODULO_HELPURL:Di,MATH_MODULO_TITLE:Oi,MATH_MODULO_TOOLTIP:ki,MATH_CONSTRAIN_HELPURL:Ai,MATH_CONSTRAIN_TITLE:ji,MATH_CONSTRAIN_TOOLTIP:Mi,MATH_RANDOM_INT_HELPURL:Ni,MATH_RANDOM_INT_TITLE:Pi,MATH_RANDOM_INT_TOOLTIP:Fi,MATH_RANDOM_FLOAT_HELPURL:Ii,MATH_RANDOM_FLOAT_TITLE_RANDOM:Li,MATH_RANDOM_FLOAT_TOOLTIP:Ri,MATH_ATAN2_HELPURL:zi,MATH_ATAN2_TITLE:Bi,MATH_ATAN2_TOOLTIP:Vi,TEXT_TEXT_HELPURL:Hi,TEXT_TEXT_TOOLTIP:Ui,TEXT_JOIN_HELPURL:Wi,TEXT_JOIN_TITLE_CREATEWITH:Gi,TEXT_JOIN_TOOLTIP:Ki,TEXT_CREATE_JOIN_TITLE_JOIN:qi,TEXT_CREATE_JOIN_TOOLTIP:Ji,TEXT_CREATE_JOIN_ITEM_TITLE_ITEM:Yi,TEXT_CREATE_JOIN_ITEM_TOOLTIP:Xi,TEXT_APPEND_HELPURL:Zi,TEXT_APPEND_TITLE:Qi,TEXT_APPEND_VARIABLE:$i,TEXT_APPEND_TOOLTIP:ea,TEXT_LENGTH_HELPURL:ta,TEXT_LENGTH_TITLE:na,TEXT_LENGTH_TOOLTIP:ra,TEXT_ISEMPTY_HELPURL:ia,TEXT_ISEMPTY_TITLE:aa,TEXT_ISEMPTY_TOOLTIP:oa,TEXT_INDEXOF_HELPURL:sa,TEXT_INDEXOF_TOOLTIP:ca,TEXT_INDEXOF_TITLE:la,TEXT_INDEXOF_OPERATOR_FIRST:ua,TEXT_INDEXOF_OPERATOR_LAST:da,TEXT_FROM_START_ARIA:fa,TEXT_FROM_END_ARIA:pa,TEXT_CHARAT_HELPURL:ma,TEXT_CHARAT_TITLE:ha,TEXT_CHARAT_FROM_START:ga,TEXT_CHARAT_FROM_END:_a,TEXT_CHARAT_FIRST:va,TEXT_CHARAT_LAST:ya,TEXT_CHARAT_RANDOM:ba,TEXT_CHARAT_TAIL:xa,TEXT_CHARAT_TOOLTIP:Sa,TEXT_GET_SUBSTRING_TOOLTIP:Ca,TEXT_GET_SUBSTRING_HELPURL:wa,TEXT_GET_SUBSTRING_INPUT_IN_TEXT:Ta,TEXT_GET_SUBSTRING_START_FROM_START:Ea,TEXT_GET_SUBSTRING_START_FROM_END:Da,TEXT_GET_SUBSTRING_START_FIRST:Oa,TEXT_GET_SUBSTRING_END_FROM_START:ka,TEXT_GET_SUBSTRING_END_FROM_END:Aa,TEXT_GET_SUBSTRING_END_LAST:ja,TEXT_GET_SUBSTRING_TAIL:Ma,TEXT_CHANGECASE_HELPURL:Na,TEXT_CHANGECASE_TOOLTIP:Pa,TEXT_CHANGECASE_OPERATOR_UPPERCASE:Fa,TEXT_CHANGECASE_OPERATOR_LOWERCASE:Ia,TEXT_CHANGECASE_OPERATOR_TITLECASE:La,TEXT_TRIM_HELPURL:Ra,TEXT_TRIM_TOOLTIP:za,TEXT_TRIM_OPERATOR_BOTH:Ba,TEXT_TRIM_OPERATOR_LEFT:Va,TEXT_TRIM_OPERATOR_RIGHT:Ha,TEXT_PRINT_HELPURL:Ua,TEXT_PRINT_TITLE:Wa,TEXT_PRINT_TOOLTIP:Ga,TEXT_PROMPT_HELPURL:Ka,TEXT_PROMPT_TYPE_TEXT:qa,TEXT_PROMPT_TYPE_NUMBER:Ja,TEXT_PROMPT_TOOLTIP_NUMBER:Ya,TEXT_PROMPT_TOOLTIP_TEXT:Xa,TEXT_COUNT_MESSAGE0:Za,TEXT_COUNT_HELPURL:Qa,TEXT_COUNT_TOOLTIP:$a,TEXT_REPLACE_MESSAGE0:eo,TEXT_REPLACE_HELPURL:to,TEXT_REPLACE_TOOLTIP:no,TEXT_REVERSE_MESSAGE0:ro,TEXT_REVERSE_HELPURL:io,TEXT_REVERSE_TOOLTIP:ao,LISTS_CREATE_EMPTY_HELPURL:oo,LISTS_CREATE_EMPTY_TITLE:so,LISTS_CREATE_EMPTY_TOOLTIP:co,LISTS_CREATE_WITH_HELPURL:lo,LISTS_CREATE_WITH_TOOLTIP:uo,LISTS_CREATE_WITH_INPUT_WITH:fo,LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:po,LISTS_CREATE_WITH_CONTAINER_TOOLTIP:mo,LISTS_CREATE_WITH_ITEM_TITLE:ho,LISTS_CREATE_WITH_ITEM_TOOLTIP:go,LISTS_REPEAT_HELPURL:_o,LISTS_REPEAT_TOOLTIP:vo,LISTS_REPEAT_TITLE:yo,LISTS_LENGTH_HELPURL:bo,LISTS_LENGTH_TITLE:xo,LISTS_LENGTH_TOOLTIP:So,LISTS_ISEMPTY_HELPURL:Co,LISTS_ISEMPTY_TITLE:wo,LISTS_ISEMPTY_TOOLTIP:To,LISTS_INLIST:Eo,LISTS_INDEX_OF_HELPURL:Do,LISTS_INDEX_OF_INPUT_IN_LIST:Oo,LISTS_INDEX_OF_FIRST:ko,LISTS_INDEX_OF_LAST:Ao,LISTS_INDEX_OF_TOOLTIP:jo,LISTS_GET_INDEX_HELPURL:Mo,LISTS_GET_INDEX_GET:No,LISTS_GET_INDEX_GET_REMOVE:Po,LISTS_GET_INDEX_REMOVE:Fo,LISTS_GET_INDEX_FROM_START:Io,LISTS_GET_INDEX_FROM_END:Lo,LISTS_GET_INDEX_FIRST:Ro,LISTS_GET_INDEX_LAST:zo,LISTS_GET_INDEX_RANDOM:Bo,LISTS_GET_INDEX_TAIL:Vo,LISTS_GET_INDEX_INPUT_IN_LIST:Ho,LISTS_INDEX_FROM_START_TOOLTIP:Uo,LISTS_INDEX_FROM_END_TOOLTIP:Wo,LISTS_GET_INDEX_TOOLTIP_GET_FROM:Go,LISTS_GET_INDEX_TOOLTIP_GET_FIRST:Ko,LISTS_GET_INDEX_TOOLTIP_GET_LAST:qo,LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:Jo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:Yo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:Xo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:Zo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:Qo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:$o,LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:es,LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:ts,LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:ns,LISTS_SET_INDEX_HELPURL:rs,LISTS_SET_INDEX_INPUT_IN_LIST:is,LISTS_SET_INDEX_SET:as,LISTS_SET_INDEX_INSERT:os,LISTS_SET_INDEX_INPUT_TO:ss,LISTS_SET_INDEX_TOOLTIP_SET_FROM:cs,LISTS_SET_INDEX_TOOLTIP_SET_FIRST:ls,LISTS_SET_INDEX_TOOLTIP_SET_LAST:us,LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:ds,LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:fs,LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:ps,LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:ms,LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:hs,LISTS_GET_SUBLIST_HELPURL:gs,LISTS_GET_SUBLIST_INPUT_IN_LIST:_s,LISTS_GET_SUBLIST_START_FROM_START:vs,LISTS_GET_SUBLIST_START_FROM_END:ys,LISTS_GET_SUBLIST_START_FIRST:bs,LISTS_GET_SUBLIST_END_FROM_START:xs,LISTS_GET_SUBLIST_END_FROM_END:Ss,LISTS_GET_SUBLIST_END_LAST:Cs,LISTS_GET_SUBLIST_TAIL:ws,LISTS_GET_SUBLIST_TOOLTIP:Ts,LISTS_SORT_HELPURL:Es,LISTS_SORT_TITLE:N,LISTS_SORT_TOOLTIP:Ds,LISTS_SORT_ORDER_ASCENDING:Os,LISTS_SORT_ORDER_DESCENDING:ks,LISTS_SORT_TYPE_NUMERIC:As,LISTS_SORT_TYPE_TEXT:js,LISTS_SORT_TYPE_IGNORECASE:Ms,LISTS_SPLIT_HELPURL:Ns,LISTS_SPLIT_LIST_FROM_TEXT:Ps,LISTS_SPLIT_TEXT_FROM_LIST:Fs,LISTS_SPLIT_WITH_DELIMITER:Is,LISTS_SPLIT_TOOLTIP_SPLIT:Ls,LISTS_SPLIT_TOOLTIP_JOIN:Rs,LISTS_REVERSE_HELPURL:zs,LISTS_REVERSE_MESSAGE0:Bs,LISTS_REVERSE_TOOLTIP:Vs,ORDINAL_NUMBER_SUFFIX:Hs,VARIABLES_GET_HELPURL:Us,VARIABLES_GET_TOOLTIP:Ws,VARIABLES_GET_CREATE_SET:Gs,VARIABLES_SET_HELPURL:Ks,VARIABLES_SET:qs,VARIABLES_SET_TOOLTIP:Js,VARIABLES_SET_CREATE_GET:Ys,PROCEDURES_DEFNORETURN_HELPURL:Xs,PROCEDURES_DEFNORETURN_TITLE:Zs,PROCEDURES_DEFNORETURN_PROCEDURE:Qs,PROCEDURES_BEFORE_PARAMS:$s,PROCEDURES_CALL_BEFORE_PARAMS:ec,PROCEDURES_CALL_DISABLED_DEF_WARNING:tc,PROCEDURES_DEFNORETURN_DO:nc,PROCEDURES_DEFNORETURN_TOOLTIP:rc,PROCEDURES_DEFNORETURN_COMMENT:ic,PROCEDURES_DEFRETURN_HELPURL:ac,PROCEDURES_DEFRETURN_TITLE:oc,PROCEDURES_DEFRETURN_PROCEDURE:sc,PROCEDURES_DEFRETURN_DO:cc,PROCEDURES_DEFRETURN_COMMENT:lc,PROCEDURES_DEFRETURN_RETURN:uc,PROCEDURES_DEFRETURN_TOOLTIP:dc,PROCEDURES_ALLOW_STATEMENTS:fc,PROCEDURES_DEF_DUPLICATE_WARNING:pc,PROCEDURES_CALLNORETURN_HELPURL:mc,PROCEDURES_CALLNORETURN_TOOLTIP:hc,PROCEDURES_CALLRETURN_HELPURL:gc,PROCEDURES_CALLRETURN_TOOLTIP:_c,PROCEDURES_MUTATORCONTAINER_TITLE:vc,PROCEDURES_MUTATORCONTAINER_TOOLTIP:yc,PROCEDURES_MUTATORARG_TITLE:bc,PROCEDURES_MUTATORARG_TOOLTIP:xc,PROCEDURES_HIGHLIGHT_DEF:Sc,PROCEDURES_CREATE_DO:Cc,PROCEDURES_IFRETURN_TOOLTIP:wc,PROCEDURES_IFRETURN_HELPURL:Tc,PROCEDURES_IFRETURN_WARNING:Ec,WORKSPACE_COMMENT_DEFAULT_TEXT:Dc,COLLAPSED_WARNINGS_WARNING:Oc,DIALOG_OK:kc,DIALOG_CANCEL:Ac,EDIT_BLOCK_CONTENTS:jc,MOVE_BLOCK:Mc,WINDOWS:Nc,MAC_OS:Pc,CHROME_OS:Fc,LINUX:Ic,UNKNOWN:Lc,CONTROL_KEY:Rc,COMMAND_KEY:zc,OPTION_KEY:Bc,ALT_KEY:Vc,ENTER_KEY:Hc,BACKSPACE_KEY:Uc,DELETE_KEY:Wc,ESCAPE:Gc,TAB_KEY:Kc,SHIFT_KEY:qc,CAPS_LOCK_KEY:Jc,SPACE_KEY:Yc,PAGE_UP_KEY:Xc,PAGE_DOWN_KEY:Zc,END_KEY:Qc,HOME_KEY:$c,INSERT_KEY:el,PAUSE_KEY:tl,CONTEXT_MENU_KEY:nl,CUT_SHORTCUT:rl,COPY_SHORTCUT:il,PASTE_SHORTCUT:al,HELP_PROMPT:ol,SHORTCUTS_GENERAL:sl,SHORTCUTS_EDITING:cl,SHORTCUTS_CODE_NAVIGATION:ll,SHORTCUTS_ESCAPE:ul,SHORTCUTS_DELETE:dl,SHORTCUTS_START_MOVE:fl,SHORTCUTS_START_MOVE_STACK:pl,SHORTCUTS_MOVE_LEFT:ml,SHORTCUTS_MOVE_RIGHT:hl,SHORTCUTS_MOVE_UP:gl,SHORTCUTS_MOVE_DOWN:_l,SHORTCUTS_FINISH_MOVE:vl,SHORTCUTS_ABORT_MOVE:yl,SHORTCUTS_SHOW_CONTEXT_MENU:bl,SHORTCUTS_FOCUS_WORKSPACE:xl,SHORTCUTS_FOCUS_TOOLBOX:Sl,SHORTCUTS_INFORMATION:Cl,SHORTCUTS_EXTENDED_INFORMATION:wl,SHORTCUTS_DISCONNECT:Tl,SHORTCUTS_NEXT_STACK:El,SHORTCUTS_PREVIOUS_STACK:Dl,SHORTCUTS_NEXT_HEADING:Ol,SHORTCUTS_PREVIOUS_HEADING:kl,SHORTCUTS_PERFORM_ACTION:Al,SHORTCUTS_DUPLICATE:jl,SHORTCUTS_CLEANUP:Ml,SHORTCUTS_SHOW_TOOLTIP:Nl,SHORTCUTS_TOGGLE_SCREENREADER_MODE:Pl,SHORTCUTS_JUMP_BLOCK_START:Fl,SHORTCUTS_JUMP_BLOCK_END:Il,SHORTCUTS_JUMP_TOP_STACK:Ll,SHORTCUTS_JUMP_BOTTOM_STACK:Rl,SHORTCUTS_JUMP_FIRST_BLOCK:zl,SHORTCUTS_JUMP_LAST_BLOCK:Bl,SHORTCUTS_JUMP_PREVIOUS_PAGE:Vl,SHORTCUTS_JUMP_NEXT_PAGE:Hl,SHORTCUTS_SCROLL_LEFT:Ul,SHORTCUTS_SCROLL_RIGHT:Wl,SHORTCUTS_SCROLL_UP:Gl,SHORTCUTS_SCROLL_DOWN:Kl,ANNOUNCE_SCROLLED_LEFT:ql,ANNOUNCE_SCROLLED_RIGHT:Jl,ANNOUNCE_SCROLLED_UP:Yl,ANNOUNCE_SCROLLED_DOWN:Xl,ANNOUNCE_CANT_SCROLL_FURTHER:Zl,KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT:Ql,KEYBOARD_NAV_CONSTRAINED_MOVE_HINT:$l,KEYBOARD_NAV_COPIED_HINT:eu,KEYBOARD_NAV_CUT_HINT:tu,WORKSPACE_LABEL_PLAIN:nu,WORKSPACE_ROLEDESCRIPTION:ru,WORKSPACE_LABEL_1_STACK:iu,WORKSPACE_LABEL_MANY_STACKS:au,WORKSPACE_LABEL_MUTATOR_WORKSPACE:ou,WORKSPACE_LABEL_FLYOUT_WORKSPACE:su,WORKSPACE_CONTENTS_BLOCKS_MANY:cu,WORKSPACE_CONTENTS_BLOCKS_ONE:lu,WORKSPACE_CONTENTS_BLOCKS_ZERO:uu,WORKSPACE_CONTENTS_COMMENTS_MANY:du,WORKSPACE_CONTENTS_COMMENTS_ONE:fu,KEYBOARD_NAV_BLOCK_NAVIGATION_HINT:pu,KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT:mu,KEYBOARD_NAV_FLYOUT_LABEL_HINT:hu,BLOCK_LABEL_BEGIN_STACK:gu,BLOCK_LABEL_BEGIN_PREFIX:_u,BLOCK_LABEL_TOOLBOX_CATEGORY:vu,BLOCK_LABEL_DISABLED:yu,BLOCK_LABEL_COLLAPSED:bu,BLOCK_LABEL_REPLACEABLE:xu,BLOCK_LABEL_HAS_INPUT:Su,BLOCK_LABEL_HAS_INPUTS:Cu,BLOCK_LABEL_HAS_BRANCHES:wu,BLOCK_LABEL_STATEMENT:Tu,BLOCK_LABEL_CONTAINER:Eu,BLOCK_LABEL_VALUE:Du,BLOCK_LABEL_STACK_BLOCKS:Ou,INPUT_LABEL_INDEX:ku,INPUT_LABEL_VALUE:Au,INPUT_LABEL_STATEMENT:ju,INPUT_LABEL_END_STATEMENT:Mu,INPUT_LABEL_EMPTY:Nu,INPUT_LABEL_CONDITION:Pu,INPUT_LABEL_CONDITION_A:Fu,INPUT_LABEL_CONDITION_B:Iu,INPUT_LABEL_VALUE_A:Lu,INPUT_LABEL_VALUE_B:Ru,INPUT_LABEL_NUMBER:zu,INPUT_LABEL_NUMBER_A:Bu,INPUT_LABEL_NUMBER_B:Vu,INPUT_LABEL_NUMBER_TO_CHECK:Hu,INPUT_LABEL_NUMBER_LIST:Uu,INPUT_LABEL_MATH_DIVIDEND:Wu,INPUT_LABEL_MATH_DIVISOR:Gu,INPUT_LABEL_MATH_CHANGE_BY:Ku,INPUT_LABEL_MATH_CONSTRAIN_VALUE:qu,INPUT_LABEL_NUMBER_MIN:Ju,INPUT_LABEL_NUMBER_MAX:Yu,INPUT_LABEL_NUMBER_ATAN2_X:Xu,INPUT_LABEL_NUMBER_ATAN2_Y:Zu,INPUT_LABEL_LOOP_TIMES:Qu,INPUT_LABEL_LOOP_FROM:$u,INPUT_LABEL_LOOP_TO:ed,INPUT_LABEL_LOOP_BY:td,INPUT_LABEL_LOOP_LIST:nd,INPUT_LABEL_TEXT_JOIN_ITEM:rd,INPUT_LABEL_TEXT_APPEND:id,INPUT_LABEL_TEXT_TO_CHANGE:ad,INPUT_LABEL_TEXT_TO_CHECK:od,INPUT_LABEL_TEXT_TO_FIND:sd,INPUT_LABEL_TEXT_TO_REPLACE:cd,INPUT_LABEL_TEXT_POSITION:ld,INPUT_LABEL_TEXT_START_POSITION:ud,INPUT_LABEL_TEXT_END_POSITION:dd,INPUT_LABEL_TEXT_PROMPT_MESSAGE:fd,INPUT_LABEL_VARIABLES_SET:pd,INPUT_LABEL_LISTS_CREATE_WITH_ITEM:md,INPUT_LABEL_LISTS_REPEAT_ITEM:hd,INPUT_LABEL_LISTS_REPEAT_NUM:gd,INPUT_LABEL_LISTS_TO_CHECK:_d,INPUT_LABEL_LISTS_VALUE_TO_SET:vd,INPUT_LABEL_LISTS_POSITION:yd,INPUT_LABEL_LISTS_START_POSITION:bd,INPUT_LABEL_LISTS_END_POSITION:xd,INPUT_LABEL_LISTS_LIST_FROM_TEXT:Sd,INPUT_LABEL_LISTS_TEXT_FROM_LIST:Cd,INPUT_LABEL_LISTS_DELIMITER:wd,INPUT_LABEL_LISTS_TO_CHANGE:Td,ANNOUNCE_MOVE_WORKSPACE:Ed,ANNOUNCE_MOVE_BEFORE:Dd,ANNOUNCE_MOVE_AFTER:Od,ANNOUNCE_MOVE_INSIDE:kd,ANNOUNCE_MOVE_AROUND:Ad,ANNOUNCE_MOVE_TO:jd,ANNOUNCE_MOVE_OF:Md,ANNOUNCE_MOVE_CANCELED:Nd,FIELD_LABEL_EMPTY:Pd,ARIA_TYPE_FIELD_INPUT:Fd,ARIA_TYPE_FIELD_TEXT_INPUT:Id,ARIA_TYPE_FIELD_NUMBER:Ld,ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE:Rd,ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT:zd,ARIA_TYPE_FIELD_DROPDOWN:Bd,ARIA_TYPE_FIELD_IMAGE:Vd,ARIA_TYPE_FIELD_CHECKBOX:Hd,FIELD_LABEL_EDIT_PREFIX:Ud,OPEN_TRASH:Wd,ZOOM_IN:Gd,ZOOM_OUT:Kd,RESET_ZOOM:qd,FIELD_LABEL_OPTION_INDEX:Jd,FIELD_LABEL_CHECKBOX_CHECKED:Yd,FIELD_LABEL_CHECKBOX_UNCHECKED:Xd,FIELD_LABEL_VARIABLE:Zd,ARIA_LABEL_BUTTON:Qd,ARIA_LABEL_HEADING:$d,BUBBLE_LABEL_DEFAULT:ef,BUBBLE_LABEL_COMMENT:tf,BUBBLE_LABEL_WARNING:nf,ICON_LABEL_DEFAULT:rf,ICON_LABEL_COMMENT_CLOSED:af,ICON_LABEL_COMMENT_OPEN:of,ICON_LABEL_MUTATOR_CLOSED:sf,ICON_LABEL_MUTATOR_OPEN:cf,ICON_LABEL_WARNING_CLOSED:lf,ICON_LABEL_WARNING_OPEN:uf,ARIA_LABEL_COMMENT:df,ARIA_LABEL_COMMENT_COLLAPSE:ff,ARIA_LABEL_COMMENT_EXPAND:pf,SCREENREADER_MODE_ENABLED:mf,SCREENREADER_MODE_DISABLED:hf,CURRENT_BLOCK_ANNOUNCEMENT:gf,PARENT_BLOCKS_ANNOUNCEMENT:_f,NO_PARENT_ANNOUNCEMENT:vf,SCREENREADER_HINT:yf,ARIA_LABEL_ADD_ELSE_IF:bf,ARIA_LABEL_REMOVE_ELSE_IF:xf,ARIA_LABEL_ADD_LIST_ITEM:Sf,ARIA_LABEL_REMOVE_LIST_ITEM:Cf,ARIA_LABEL_ADD_TEXT:wf,ARIA_LABEL_REMOVE_TEXT:Tf,ARIA_LABEL_ADD_INPUT:Ef,ARIA_LABEL_REMOVE_INPUT:Df,ARIA_TYPE_FIELD_ANGLE:Of,ARIA_LABEL_FIELD_ANGLE:kf,ARIA_TYPE_FIELD_DATE:Af,ARIA_TYPE_FIELD_COLOUR:jf,ARIA_TYPE_FIELD_BITMAP:Mf,ARIA_TYPE_FIELD_GRID:Nf,FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE:Pf,FIELD_BITMAP_BUTTON_LABEL_CLEAR:Ff,FIELD_BITMAP_PIXEL_ON:If,FIELD_BITMAP_PIXEL_OFF:Lf,FIELD_BITMAP_PIXEL_LABEL:Rf,FIELD_BITMAP_ARIA_VALUE:zf,OPEN_BACKPACK:Bf,CLOSE_BACKPACK:Vf,COPY_ALL_TO_BACKPACK:Hf,COPY_TO_BACKPACK:Uf,EMPTY_BACKPACK:Wf,PASTE_ALL_FROM_BACKPACK:Gf,REMOVE_FROM_BACKPACK:Kf,FIELD_MULTILINEINPUT_FINISH_EDITING:qf,FIELD_MULTILINEINPUT_NEW_LINE:Jf,ZOOM_TO_FIT_ARIA_LABEL:Yf,MINIMAP_ARIA_LABEL:Xf,ARIA_LABEL_TRASH_EMPTY:Zf,WORKSPACE_SEARCH_PLACEHOLDER:Qf,WORKSPACE_SEARCH_INPUT_LABEL:$f,WORKSPACE_SEARCH_FIND_NEXT:ep,WORKSPACE_SEARCH_FIND_PREVIOUS:tp,WORKSPACE_SEARCH_CLOSE:np,WORKSPACE_SEARCH_NO_MATCHES:rp,WORKSPACE_SEARCH_MATCH:ip}=e(de(),1).default,ap=[{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`}],op={blocks_action:()=>x(()=>import(`./blocks_action-BQ4O7NRE.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),blocks_convert:()=>x(()=>import(`./blocks_convert-0VBjfhqQ.js`),__vite__mapDeps([4,1,2,3]),import.meta.url),blocks_words:()=>x(()=>import(`./blocks_words-bpwd7Ia0.js`),[],import.meta.url),blocks_logic:()=>x(()=>import(`./blocks_logic-DAo99xDr.js`),__vite__mapDeps([5,1,2,3]),import.meta.url),blocks_number:()=>x(()=>import(`./blocks_number-C--e19NU.js`),__vite__mapDeps([6,1,2]),import.meta.url),blocks_procedures:()=>x(()=>import(`./blocks_procedures-DgTxgXdB.js`),__vite__mapDeps([7,1,8]),import.meta.url),blocks_sendto:()=>x(()=>import(`./blocks_sendto-CRIrtOUc.js`),__vite__mapDeps([9,1,2,3]),import.meta.url),blocks_system:()=>x(()=>import(`./blocks_system-BdkUdSsc.js`),__vite__mapDeps([10,1,3,11]),import.meta.url),field_cron:()=>x(()=>import(`./field_cron-D3Ts_s9M.js`),__vite__mapDeps([12,1]),import.meta.url),field_oid:()=>x(()=>import(`./field_oid-BRNXredg.js`),__vite__mapDeps([11,1]),import.meta.url),field_script:()=>x(()=>import(`./field_script-3X6ousg7.js`),__vite__mapDeps([8,1]),import.meta.url),blocks_object:()=>x(()=>import(`./blocks_object-D0TPhdzg.js`),__vite__mapDeps([13,1,2,3]),import.meta.url),blocks_switch:()=>x(()=>import(`./blocks_switch-b_GYfF0n.js`),__vite__mapDeps([14,1,2]),import.meta.url),blocks_text:()=>x(()=>import(`./blocks_text-DSFhEVOf.js`),__vite__mapDeps([15,1,2]),import.meta.url),blocks_time:()=>x(()=>import(`./blocks_time-CqALAiJp.js`),__vite__mapDeps([16,1,2,3]),import.meta.url),blocks_trigger:()=>x(()=>import(`./blocks_trigger-DeAYXpSS.js`),__vite__mapDeps([17,1,3,11,12]),import.meta.url),blocks_timeout:()=>x(()=>import(`./blocks_timeout-yrOD2pZp.js`),__vite__mapDeps([18,1,2,3]),import.meta.url)},sp={...w,JavaScript:O};E(fe),window.Blockly=sp,window.goog||={provide:()=>{},require:()=>{}};function cp(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 P=null;function lp(){return P||=(async()=>{for(let e of ap)if(e.source===`module`){let t=op[e.id];if(!t){console.error(`No module registered for "${e.id}" - check BLOCK_MODULES in bridge.ts`);continue}(await t()).install()}else await cp(`google-blockly/own/${e.id}.js`)})(),P}var F=window.Blockly,I=class extends Error{constructor(){super(`The field has not yet been attached to its input. Call appendField to attach it.`)}},L=class e extends F.Field{constructor(e,t,n){super(e),m(this,`textGroup`,null),m(this,`borderRect_`,null),m(this,`maxLines_`,1/0),m(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,`&#10;`),e}fromXml(e){this.setValue(e.textContent.replace(/&#10;/g,`
222
+ `))}saveState(){let t=this.saveLegacyState(e);return t===null?this.getValue():t}loadState(e){this.loadLegacyState(F.Field,e)||this.setValue(e)}initView(){this.createBorderRect_(),this.textGroup=F.utils.dom.createSvgElement(F.utils.Svg.G,{class:`blocklyEditableField`},this.fieldGroup_),this.fieldGroup_&&F.utils.dom.addClass(this.fieldGroup_,`blocklyField`)}onHtmlInputKeyDownSuper_(e){e.key===`Enter`?(F.WidgetDiv.hideIfOwner(this),F.dropDownDiv.hideWithoutAnimation()):e.key===`Escape`?(this.setValue(this.htmlInput_.getAttribute(`data-untyped-default-value`),!1),F.WidgetDiv.hideIfOwner(this),F.dropDownDiv.hideWithoutAnimation()):e.key===`Tab`&&(F.WidgetDiv.hideIfOwner(this),F.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_&&F.Events.isEnabled()&&this.value_!==t&&F.Events.fire(new(F.Events.get(`block_field_intermediate_change`))(this.sourceBlock_,this.name||null,t,this.value_))}onFinishEditing_(e){}getValueFromEditorText_(e){return e}bindInputEvents_(e){this.onKeyDownWrapper_=F.browserEvents.conditionalBind(e,`keydown`,this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper_=F.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 F.Field.NBSP;let n=t.split(`
223
+ `);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,F.Field.NBSP),t+=i,e!==r-1&&(t+=`
224
+ `)}return e.RTL&&(t+=`‏`),t}doValueUpdate_(e){super.doValueUpdate_(e),this.value_!==null&&(this.isOverflowedY_=this.value_.split(`
225
+ `).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(`
226
+ `),a=0;for(let e=0;e<i.length;e++){let t=r.FIELD_TEXT_HEIGHT+r.FIELD_BORDER_RECT_Y_PADDING;F.utils.dom.createSvgElement(F.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_?F.utils.dom.addClass(e,`blocklyHtmlTextAreaInputOverflowedY`):F.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_?(F.utils.dom.removeClass(t,`blocklyInvalidInput`),F.utils.aria.setState(t,F.utils.aria.State.INVALID,!1)):(F.utils.dom.addClass(t,`blocklyInvalidInput`),F.utils.aria.setState(t,F.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=F.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(`
227
+ `),t=F.utils.dom.createSvgElement(F.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=F.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 I;F.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 I;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,F.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=F.utils.style.getPageOffset(this.borderRect_),e=r.width,t=r.height}return new F.utils.Rect(n.y,n.y+t,n.x,n.x+e)}resizeEditor_(){F.renderManagement.finishQueuedRenders().then(()=>{let e=this.getSourceBlock();if(!e)throw new I;let t=F.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,a=t==null?void 0:t.parentElement;if(a){let e=a.getBoundingClientRect();r-=e.left+window.scrollX,i-=e.top+window.scrollY}t.style.left=`${r}px`,t.style.top=`${i}px`})}unbindInputEvents_(){this.onKeyDownWrapper_&&=(F.browserEvents.unbind(this.onKeyDownWrapper_),null),this.onKeyInputWrapper_&&=(F.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_&&F.Events.isEnabled()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(F.Events.fire(new(F.Events.get(`change`))(this.sourceBlock_,`field`,this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),F.Events.setGroup(!1),this.unbindInputEvents_();let e=F.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.`);F.utils.dom.removeClass(t,`editing`)}showEditor_(e,t){this.workspace_=this.sourceBlock_.workspace,this.showInlineEditor_(!!t),this.forceRerender()}widgetCreate_(){let e=F.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=`${F.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`,``),F.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=F.utils.parsing.replaceMessageReferences(e.text);return new this(t,void 0,e)}};F.Css.register(`
228
+ .blocklyHtmlTextAreaInput {
229
+ font-family: monospace;
230
+ resize: none;
231
+ overflow: hidden;
232
+ height: 100%;
233
+ text-align: left;
234
+ }
235
+
236
+ .blocklyHtmlTextAreaInputOverflowedY {
237
+ overflow-y: scroll;
238
+ }
239
+ `);var R=`text_multiline`,up={type:R,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 dp(e,t){let n=t.multiline_quote_(e.getFieldValue(`TEXT`));return[n,n.indexOf(`+`)===-1?0:6.2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([up])[R];var z=window.Blockly,B=class extends z.Field{constructor(e,t,n){super(e),m(this,`picker`,null),m(this,`highlightedIndex`,null),m(this,`boundEvents`,[]),m(this,`SERIALIZABLE`,!0),m(this,`CURSOR`,`default`),m(this,`isDirty_`,!1),m(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(`.`)),m(this,`titles`,[]),m(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 z.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 z.UnattachedFieldError;let e=this.getConstants();return this.blockIsSimpleReporter()&&!!(e!=null&&e.FIELD_COLOUR_FULL_BLOCK)}blockIsSimpleReporter(){let e=this.getSourceBlock();if(!e)throw new z.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 z.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 z.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`?z.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`);z.DropDownDiv.getContentDiv().appendChild(this.picker),z.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),z.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)}z.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&&z.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&&z.utils.dom.removeClass(n,`blocklyColourHighlighted`),z.utils.dom.addClass(e,`blocklyColourHighlighted`),this.highlightedIndex=t;let r=e.getAttribute(`id`);r&&this.picker&&z.utils.aria.setState(this.picker,z.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`,z.utils.aria.setRole(r,z.utils.aria.Role.GRID),z.utils.aria.setState(r,z.utils.aria.State.EXPANDED,!0),z.utils.aria.setState(r,z.utils.aria.State.ROWCOUNT,Math.floor(t.length/e)),z.utils.aria.setState(r,z.utils.aria.State.COLCOUNT,e);let i=null;for(let a=0;a<t.length;a++){a%e===0&&(i=document.createElement(`tr`),z.utils.aria.setRole(i,z.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=z.utils.idGenerator.getNextUniqueId(),o.setAttribute(`data-index`,`${a}`),z.utils.aria.setRole(o,z.utils.aria.Role.GRIDCELL),z.utils.aria.setState(o,z.utils.aria.State.LABEL,t[a]),z.utils.aria.setState(o,z.utils.aria.State.SELECTED,t[a]===n),o.style.backgroundColor=t[a],t[a]===n&&(o.className=`blocklyColourSelected`,this.highlightedIndex=a)}this.boundEvents.push(z.browserEvents.conditionalBind(r,`pointerdown`,this,this.onClick,!0)),this.boundEvents.push(z.browserEvents.conditionalBind(r,`pointermove`,this,this.onMouseMove,!0)),this.boundEvents.push(z.browserEvents.conditionalBind(r,`pointerenter`,this,this.onMouseEnter,!0)),this.boundEvents.push(z.browserEvents.conditionalBind(r,`pointerleave`,this,this.onMouseLeave,!0)),this.boundEvents.push(z.browserEvents.conditionalBind(r,`keydown`,this,this.onKeyDown,!1)),this.picker=r}dropdownDispose(){for(let e of this.boundEvents)z.browserEvents.unbind(e);this.boundEvents.length=0,this.picker=null,this.highlightedIndex=null}static fromJson(e){return new this(e.colour,void 0,e)}};B.prototype.DEFAULT_VALUE=`#ffffff`,z.Css.register(`
240
+ .blocklyColourTable {
241
+ border-collapse: collapse;
242
+ display: block;
243
+ outline: none;
244
+ padding: 1px;
245
+ }
246
+
247
+ .blocklyColourTable>tr>td {
248
+ border: 0.5px solid #888;
249
+ box-sizing: border-box;
250
+ cursor: pointer;
251
+ display: inline-block;
252
+ height: 20px;
253
+ padding: 0;
254
+ width: 20px;
255
+ }
256
+
257
+ .blocklyColourTable>tr>td.blocklyColourHighlighted {
258
+ border-color: #eee;
259
+ box-shadow: 2px 2px 7px 2px rgba(0, 0, 0, 0.3);
260
+ position: relative;
261
+ }
262
+
263
+ .blocklyColourSelected, .blocklyColourSelected:hover {
264
+ border-color: #eee !important;
265
+ outline: 1px solid #333;
266
+ position: relative;
267
+ }
268
+ `);var V=`colour_picker`,fp={type:V,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 pp(e,t){return[t.quote_(e.getFieldValue(`COLOUR`)),0]}window.Blockly.common.createBlockDefinitionsFromJsonArray([fp])[V];var H=`colour_random`,mp={type:H,message0:`%{BKY_COLOUR_RANDOM_TITLE}`,output:`Colour`,helpUrl:`%{BKY_COLOUR_RANDOM_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_RANDOM_TOOLTIP}`};function hp(e,t){return[`${t.provideFunction_(`colourRandom`,`
269
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}() {
270
+ var num = Math.floor(Math.random() * 0x1000000);
271
+ return '#' + ('00000' + num.toString(16)).substr(-6);
272
+ }
273
+ `)}()`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([mp])[H];var U=`colour_rgb`,gp={type:U,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 _p(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`,`
274
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(r, g, b) {
275
+ r = Math.max(Math.min(Number(r), 100), 0) * 2.55;
276
+ g = Math.max(Math.min(Number(g), 100), 0) * 2.55;
277
+ b = Math.max(Math.min(Number(b), 100), 0) * 2.55;
278
+ r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);
279
+ g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);
280
+ b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);
281
+ return '#' + r + g + b;
282
+ }
283
+ `)}(${n}, ${r}, ${i})`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([gp])[U];var W=`colour_blend`,vp={type:W,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 yp(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`,`
284
+ function ${t.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) {
285
+ ratio = Math.max(Math.min(Number(ratio), 1), 0);
286
+ var r1 = parseInt(c1.substring(1, 3), 16);
287
+ var g1 = parseInt(c1.substring(3, 5), 16);
288
+ var b1 = parseInt(c1.substring(5, 7), 16);
289
+ var r2 = parseInt(c2.substring(1, 3), 16);
290
+ var g2 = parseInt(c2.substring(3, 5), 16);
291
+ var b2 = parseInt(c2.substring(5, 7), 16);
292
+ var r = Math.round(r1 * (1 - ratio) + r2 * ratio);
293
+ var g = Math.round(g1 * (1 - ratio) + g2 * ratio);
294
+ var b = Math.round(b1 * (1 - ratio) + b2 * ratio);
295
+ r = ('0' + (r || 0).toString(16)).slice(-2);
296
+ g = ('0' + (g || 0).toString(16)).slice(-2);
297
+ b = ('0' + (b || 0).toString(16)).slice(-2);
298
+ return '#' + r + g + b;
299
+ }
300
+ `)}(${n}, ${r}, ${i})`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([vp])[W];function bp(){window.Blockly.FieldMultilineInput||(window.Blockly.fieldRegistry.register(`field_multilinetext`,L),window.Blockly.JavaScript.forBlock.text_multiline=dp,window.Blockly.FieldMultilineInput=L,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`,B),window.Blockly.JavaScript.forBlock.colour_picker=pp,window.Blockly.JavaScript.forBlock.colour_blend=yp,window.Blockly.JavaScript.forBlock.colour_random=hp,window.Blockly.JavaScript.forBlock.colour_rgb=_p,window.Blockly.FieldColour=B,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}`}]))),G()}function G(){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 xp=t({default:()=>$}),K=!1,q=!1,J=null,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(e){super(e),m(this,`blockly`,null),m(this,`blocklyWorkspace`,null),m(this,`originalCode`,void 0),m(this,`someSelected`,null),m(this,`changeTimer`,null),m(this,`lastChangeError`,``),m(this,`someSelectedTime`,0),m(this,`ignoreChanges`,!1),m(this,`blinkBlock`,void 0),m(this,`onResizeBind`,void 0),m(this,`resizeObserver`,null),m(this,`didUpdate`,null),m(this,`lastCommand`,``),m(this,`lastSearch`,void 0),m(this,`onShowNameDialog`,(e,t,n)=>{this.setState({showInputPrompt:{promptText:e,defaultText:t,callback:n,value:t}})}),this.state={blocksLoaded:Y,languageOwnLoaded:q,languageBlocklyLoaded:K,changed:!1,message:``,error:``,themeType:this.props.themeType,themeName:this.props.theme.name,exportText:``,importText:!1,searchText:this.props.searchText||``,showInputPrompt:null},this.originalCode=e.code||``,this.someSelected=null,this.onResizeBind=this.onResize.bind(this),this.lastSearch=this.props.searchText||``,this.blinkBlock=null}componentDidMount(){e.loadBlocks(this.props.socket).then(()=>{bp(),e.Blockly.dialog.setPrompt(this.onShowNameDialog),this.setState({blocksLoaded:Y}),this.loadLanguages()}).catch(e=>this.setState({error:`${d.t(`Cannot load the blocks`)}: ${e}`}))}static loadBlocks(t){return J||=t.getObjectViewSystem(`adapter`,`system.adapter.`,`system.adapter.香`).then(t=>new Promise(n=>e.loadCustomBlockly(t,n))).then(()=>{Y=!0}).catch(e=>{throw J=null,e}),J}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)){G(),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))}lp().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:d.t(t),title:d.t(`Error was found`)}}),this.blinkBlock=n):this.setState({message:d.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.state.themeName!==t.theme.name)&&this.setState({themeType:t.themeType,themeName:t.theme.name},()=>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(K||e.applyBlocklyMessages(`google-blockly/msg/js/${d.getLanguage()}.js`).then(()=>{K=!0,this.setState({languageBlocklyLoaded:K})}),!q){let e=window.document.createElement(`script`);e.setAttribute(`type`,`text/javascript`),e.setAttribute(`src`,`google-blockly/own/msg/${d.getLanguage()}.js`),e.onload=()=>{q=!0,this.setState({languageOwnLoaded:q})},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+=`
301
+ `;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;try{let 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)}}catch(e){console.error(`Cannot export the blocks: ${e.stack||e.toString()}`),this.setState({error:{text:e.toString(),title:d.t(`Export error`)}});return}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:d.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:d.t(`Cannot extract Blockly code!`)}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){try{this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange(),this.lastChangeError=``}catch(e){console.error(`Cannot generate the script: ${e.stack||e.toString()}`);let t=e.message||String(e);this.lastChangeError!==t&&(this.lastChangeError=t,this.setState({error:{text:`${d.t(`A block failed while generating the script, so the changes cannot be saved`)}: ${t}`,title:d.t(`Blockly error`)}}))}}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:C(this.props.theme),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[d.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(){var e;(e=this.blocklyWorkspace)==null||e.setTheme(C(this.props.theme))}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=d.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?p(l,{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?p(S,{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?p(y,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:``}),text:this.state.exportText,scriptId:this.props.scriptId},`dialogExport`):null}renderImportDialog(){return this.state.importText?p(b,{themeType:this.props.themeType,onClose:e=>{this.setState({importText:!1}),this.onImportBlocks(e)}},`dialogImport`):null}renderDialogPrompt(){return this.state.showInputPrompt?g(c,{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:[p(u,{children:this.state.showInputPrompt.promptText}),p(h,{children:p(i,{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})}})}),g(f,{children:[p(a,{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:p(r,{}),children:d.t(`Apply`)}),p(a,{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:p(s,{}),children:d.t(`Close`)})]})]},`inputDialog`):null}render(){return this.state.blocksLoaded&&this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[p(`div`,{ref:e=>{this.blockly=e},style:{width:`100%`,height:`100%`,position:`relative`}},`blocklyDOM`),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):[p(v,{},`progress`),this.renderErrorDialog()]}};m($,`Blockly`,window.Blockly);export{$ as default,ue as n,O as r,xp as t};