Files
monkeygg2.github.io/games/geometry-dash-lite/Editor/index.html
T

331 lines
107 KiB
HTML

<!DOCTYPE html>
<!-- Created with https://packager.turbowarp.org/ -->
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- We only include this to explicitly loosen the CSP of various packager environments. It does not provide any security. -->
<meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: blob:">
<title>Everywhere Dash Editor (Alpha)</title>
<style>
body {
color: #ffffff;
font-family: sans-serif;
overflow: hidden;
margin: 0;
padding: 0;
}
:root, body.is-fullscreen {
background-color: #000000;
}
[hidden] {
display: none !important;
}
h1 {
font-weight: normal;
}
a {
color: inherit;
text-decoration: underline;
cursor: pointer;
}
#app, #loading, #error, #launch {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.screen {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
cursor: default;
user-select: none;
-webkit-user-select: none;
background-color: #000000;
}
#launch {
background-color: rgba(0, 0, 0, 0.7);
cursor: pointer;
}
.green-flag {
width: 80px;
height: 80px;
padding: 16px;
border-radius: 100%;
background: rgba(255, 255, 255, 0.75);
border: 3px solid hsla(0, 100%, 100%, 1);
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
}
#loading {
}
.progress-bar-outer {
border: 1px solid currentColor;
height: 10px;
width: 200px;
max-width: 200px;
}
.progress-bar-inner {
height: 100%;
width: 0;
background-color: currentColor;
}
.loading-text, noscript {
font-weight: normal;
font-size: 36px;
margin: 0 0 16px;
}
.loading-image {
margin: 0 0 16px;
}
#error-message, #error-stack {
font-family: monospace;
max-width: 600px;
white-space: pre-wrap;
user-select: text;
-webkit-user-select: text;
}
#error-stack {
text-align: left;
max-height: 200px;
overflow: auto;
}
.control-button {
width: 2rem;
height: 2rem;
padding: 0.375rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
user-select: none;
-webkit-user-select: none;
cursor: pointer;
border: 0;
border-radius: 4px;
}
.control-button:hover {
background: #ff4c4c26;
}
.control-button.active {
background: #ff4c4c59;
}
.fullscreen-button {
background: white !important;
}
.standalone-fullscreen-button {
position: absolute;
top: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.5);
border-radius: 0 0 0 4px;
padding: 4px;
cursor: pointer;
}
.sc-canvas {
cursor: auto;
}
.sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color {
background-color: #ff8c1a;
}
.sc-monitor-row-value-outer {
background-color: #fc662c;
}
.sc-monitor-row-value-editing .sc-monitor-row-value-outer {
background-color: #e25b27;
}
</style>
<meta name="theme-color" content="#000000">
</head>
<body>
<div id="app"></div>
<div id="launch" class="screen" hidden title="Click to start">
<div class="green-flag">
<svg viewBox="0 0 16.63 17.5" width="42" height="44">
<defs><style>.cls-1,.cls-2{fill:#4cbf56;stroke:#45993d;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:1.5px;}</style></defs>
<path class="cls-1" d="M.75,2A6.44,6.44,0,0,1,8.44,2h0a6.44,6.44,0,0,0,7.69,0V12.4a6.44,6.44,0,0,1-7.69,0h0a6.44,6.44,0,0,0-7.69,0"/>
<line class="cls-2" x1="0.75" y1="16.75" x2="0.75" y2="0.75"/>
</svg>
</div>
</div>
<div id="loading" class="screen">
<noscript>Enable JavaScript</noscript>
<h1 class="loading-text">Loading Editor...</h1>
<div class="progress-bar-outer"><div class="progress-bar-inner" id="loading-inner"></div></div>
</div>
<div id="error" class="screen" hidden>
<h1>Error</h1>
<details>
<summary id="error-message"></summary>
<p id="error-stack"></p>
</details>
</div>
<script src="script.js"></script>
<script>
const appElement = document.getElementById('app');
const launchScreen = document.getElementById('launch');
const loadingScreen = document.getElementById('loading');
const loadingInner = document.getElementById('loading-inner');
const errorScreen = document.getElementById('error');
const errorScreenMessage = document.getElementById('error-message');
const errorScreenStack = document.getElementById('error-stack');
const handleError = (error) => {
console.error(error);
if (!errorScreen.hidden) return;
errorScreen.hidden = false;
errorScreenMessage.textContent = '' + error;
let debug = error && error.stack || 'no stack';
debug += '\nUser agent: ' + navigator.userAgent;
errorScreenStack.textContent = debug;
};
const setProgress = (progress) => {
if (loadingInner) loadingInner.style.width = progress * 100 + '%';
};
const interpolate = (a, b, t) => a + t * (b - a);
try {
setProgress(0.1);
const scaffolding = new Scaffolding.Scaffolding();
scaffolding.width = 480;
scaffolding.height = 360;
scaffolding.resizeMode = "preserve-ratio";
scaffolding.editableLists = false;
scaffolding.usePackagedRuntime = true;
scaffolding.setup();
scaffolding.appendTo(appElement);
const vm = scaffolding.vm;
window.scaffolding = scaffolding;
window.vm = scaffolding.vm;
window.Scratch = {
vm,
renderer: vm.renderer,
audioEngine: vm.runtime.audioEngine,
bitmapAdapter: vm.runtime.v2BitmapAdapter,
videoProvider: vm.runtime.ioDevices.video.provider
};
scaffolding.setUsername("player####".replace(/#/g, () => Math.floor(Math.random() * 10)));
scaffolding.setAccentColor("#ff4c4c");
try {
scaffolding.addCloudProvider(new Scaffolding.Cloud.WebSocketProvider(["wss://clouddata.turbowarp.org","wss://clouddata.turbowarp.xyz"], "p4-@geometry dash editor v1.2.sb3"));
} catch (error) {
console.error(error);
}
vm.setTurboMode(false);
if (vm.setInterpolation) vm.setInterpolation(true);
if (vm.setFramerate) vm.setFramerate(30);
if (vm.renderer.setUseHighQualityRender) vm.renderer.setUseHighQualityRender(true);
if (vm.setRuntimeOptions) vm.setRuntimeOptions({
fencing: false,
miscLimits: true,
maxClones: 9999999999,
});
if (vm.setCompilerOptions) vm.setCompilerOptions({
enabled: true,
warpTimer: false
});
if (vm.renderer.setMaxTextureDimension) vm.renderer.setMaxTextureDimension(2048);
if (typeof ScaffoldingAddons !== 'undefined') {
ScaffoldingAddons.run(scaffolding, {"gamepad":false,"pointerlock":false,"specialCloudBehaviors":false,"unsafeCloudBehaviors":false,"pause":false});
}
scaffolding.setExtensionSecurityManager({
getSandboxMode: () => 'unsandboxed',
canLoadExtensionFromProject: () => true
});
for (const extension of ["data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Window%20Controls%0A%2F%2F%20ID%3A%20cubesterWindowControls%0A%2F%2F%20Description%3A%20Move%2C%20resize%2C%20rename%20the%20window%2C%20enter%20fullscreen%2C%20get%20screen%20size%2C%20and%20more.%0A%2F%2F%20By%3A%20CubesterYT%20%3Chttps%3A%2F%2Fscratch.mit.edu%2Fusers%2FCubesterYT%2F%3E%0A%2F%2F%20Original%3A%20BlueDome77%0A%2F%2F%20License%3A%20MIT%0A%0A%2F%2F%20Version%20V.1.0.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22_Window%20Controls%22%3A%22Fensterkontrolle%22%7D%2C%22it%22%3A%7B%22_Hello%20World!%22%3A%22Ciao%20Mondo%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Potrebbe%20non%20funzionare%20nelle%20normali%20schede%20del%20browser%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Per%20i%20dettagli%20fare%20riferimento%20alla%20Documetazione%22%2C%22_Window%20Controls%22%3A%22Controlli%20Finestra%22%2C%22_bottom%22%3A%22in%20fondo%22%2C%22_bottom%20left%22%3A%22angolo%20sinistra%20in%20basso%22%2C%22_bottom%20right%22%3A%22angolo%20destra%20in%20basso%22%2C%22_center%22%3A%22centro%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22cambia%20altezza%20finestra%20di%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22cambia%20larghezza%20finestra%20di%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22cambia%20x%20finestra%20di%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22cambia%20y%20finestra%20di%20%5BY%5D%22%2C%22_close%20window%22%3A%22chiudi%20finestra%22%2C%22_enter%20fullscreen%22%3A%22passa%20a%20schermo%20intero%22%2C%22_exit%20fullscreen%22%3A%22esci%20da%20schermo%20intero%22%2C%22_is%20window%20focused%3F%22%3A%22finestra%20in%20primo%20piano%22%2C%22_is%20window%20fullscreen%3F%22%3A%22la%20finestra%20%C3%A8%20a%20schermo%20intero%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22la%20finestra%20tocca%20il%20bordo%20dello%20schermo%22%2C%22_left%22%3A%22a%20sinistra%22%2C%22_match%20stage%20size%22%3A%22dimensione%20Stage%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22sposta%20finestra%20a%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22sposta%20finestra%20a%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22posizione%20scelta%20a%20caso%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22ridimensiona%20finestra%20a%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22ridimensiona%20finestra%20a%20larghezza%3A%20%5BW%5D%20altezza%3A%20%5BH%5D%22%2C%22_right%22%3A%22a%20destra%22%2C%22_screen%20height%22%3A%22altezza%20schermo%22%2C%22_screen%20width%22%3A%22larghezza%20schermo%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22porta%20altezza%20finestra%20a%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22imposta%20titolo%20finestra%20a%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22porta%20larghezza%20finestra%20a%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22sposta%20finestra%20a%20x%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22sposta%20finestra%20a%20y%20%5BY%5D%22%2C%22_top%22%3A%22in%20cima%22%2C%22_top%20left%22%3A%22angolo%20sinistra%20in%20alto%22%2C%22_top%20right%22%3A%22angolo%20destra%20in%20alto%22%2C%22_window%20height%22%3A%22altezza%20finestra%22%2C%22_window%20title%22%3A%22titolo%20finestra%22%2C%22_window%20width%22%3A%22larghezza%20finestra%22%2C%22_window%20x%22%3A%22x%20finestra%22%2C%22_window%20y%22%3A%22y%20finestra%22%2C%22editorConfirmation%22%3A%22Sei%20sicuro%20di%20voler%20chiudere%20questa%20finestra%3F%5Cn%5Cn(Questo%20messaggio%20non%20apparir%C3%A0%20se%20si%20usa%20il%20packager)%22%7D%2C%22ja%22%3A%7B%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%E9%80%9A%E5%B8%B8%E3%81%AE%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AE%E3%82%BF%E3%83%96%E3%81%A7%E3%81%AF%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%E8%A9%B3%E3%81%97%E3%81%8F%E3%81%AF%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E3%81%94%E8%A6%A7%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22%2C%22_Window%20Controls%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEy%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_close%20window%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%92%E9%96%89%E3%81%98%E3%82%8B%22%2C%22_left%22%3A%22%E5%B7%A6%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%80%81y%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_right%22%3A%22%E5%8F%B3%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEy%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_window%20x%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20x%22%2C%22_window%20y%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20y%22%7D%2C%22nb%22%3A%7B%22_Hello%20World!%22%3A%22Hei%20verden!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Kan%20ikke%20fungere%20i%20vanlige%20nettlesertabeller%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Se%20Dokumentasjonen%20for%20detaljer%22%2C%22_Window%20Controls%22%3A%22Vinduskontroller%22%2C%22_bottom%22%3A%22bunn%22%2C%22_bottom%20left%22%3A%22nederst%20til%20venstre%22%2C%22_bottom%20right%22%3A%22nederst%20til%20h%C3%B8yre%22%2C%22_center%22%3A%22senter%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22endre%20vindush%C3%B8yden%20med%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22endre%20vindusbredde%20med%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22endre%20vinduet%20x%20med%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22endre%20vinduet%20y%20med%20%5BY%5D%22%2C%22_close%20window%22%3A%22Lukk%20vindu%22%2C%22_enter%20fullscreen%22%3A%22g%C3%A5%20til%20fullskjerm%22%2C%22_exit%20fullscreen%22%3A%22avslutt%20fullskjerm%22%2C%22_is%20window%20focused%3F%22%3A%22er%20vinduet%20fokusert%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22er%20vinduet%20i%20fullskjerm%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22er%20vinduet%20i%20kontakt%20med%20skjermkanten%3F%22%2C%22_left%22%3A%22venstre%22%2C%22_match%20stage%20size%22%3A%22kamp%20scenest%C3%B8rrelse%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22flytt%20vinduet%20til%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22flytt%20vinduet%20til%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22tilfeldig%20posisjon%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22endre%20vinduet%20til%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22endre%20vinduet%20til%20bredde%3A%20%5BW%5D%20h%C3%B8yde%3A%20%5BH%5D%22%2C%22_right%22%3A%22h%C3%B8yre%22%2C%22_screen%20height%22%3A%22skjerm%20h%C3%B8yde%22%2C%22_screen%20width%22%3A%22skjerm%20bredde%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22sett%20vindush%C3%B8yden%20til%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22sett%20vindustittel%20til%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22sett%20vindusbredde%20til%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22sett%20vindu%20x%20til%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22sett%20vindu%20y%20til%20%5BY%5D%22%2C%22_top%22%3A%22topp%22%2C%22_top%20left%22%3A%22%C3%B8verst%20til%20venstre%22%2C%22_top%20right%22%3A%22%C3%B8verst%20til%20h%C3%B8yre%22%2C%22_window%20height%22%3A%22vindush%C3%B8yde%22%2C%22_window%20title%22%3A%22vindustittel%22%2C%22_window%20width%22%3A%22vindusbredde%22%2C%22_window%20x%22%3A%22vindu%20x%22%2C%22_window%20y%22%3A%22vindu%20y%22%2C%22editorConfirmation%22%3A%22Er%20du%20sikker%20p%C3%A5%20at%20du%20vil%20lukke%20dette%20vinduet%3F%5Cn%5Cn(Denne%20meldingen%20vil%20ikke%20vises%20n%C3%A5r%20prosjektet%20er%20pakket)%22%7D%2C%22nl%22%3A%7B%22_Hello%20World!%22%3A%22Hallo%20Wereld!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Werkt%20misschien%20niet%20in%20browsers%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Lees%20documentatie%20voor%20details%22%2C%22_Window%20Controls%22%3A%22Vensterbesturing%22%2C%22_bottom%22%3A%22onder%22%2C%22_bottom%20left%22%3A%22linksonder%22%2C%22_bottom%20right%22%3A%22rechtsonder%22%2C%22_center%22%3A%22midden%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22verander%20vensterhoogte%20met%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22verander%20vensterbreedte%20met%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22verander%20venster-x%20met%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22verander%20venster-y%20met%20%5BY%5D%22%2C%22_close%20window%22%3A%22sluit%20venster%22%2C%22_enter%20fullscreen%22%3A%22schakel%20volledig%20scherm%20in%22%2C%22_exit%20fullscreen%22%3A%22schakel%20volledig%20scherm%20uit%22%2C%22_is%20window%20focused%3F%22%3A%22venster%20gefocust%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22venster%20in%20volledig%20scherm%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22venster%20raakt%20schermrand%20aan%3F%22%2C%22_left%22%3A%22links%22%2C%22_match%20stage%20size%22%3A%22maak%20venstergrootte%20gelijk%20aan%20speelveldgrootte%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22verplaats%20venster%20naar%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22verplaats%20venster%20naar%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22willekeurige%20positie%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22maak%20venstergrootte%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22maak%20vensterbreedte%20%5BW%5D%20en%20-hoogte%20%5BH%5D%22%2C%22_right%22%3A%22rechts%22%2C%22_screen%20height%22%3A%22schermhoogte%22%2C%22_screen%20width%22%3A%22schermbreedte%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22maak%20vensterhoogte%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22maak%20venstertitel%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22maak%20vensterbreedte%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22maak%20venster-x%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22maak%20venster-y%20%5BY%5D%22%2C%22_top%22%3A%22boven%22%2C%22_top%20left%22%3A%22linksboven%22%2C%22_top%20right%22%3A%22rechtsboven%22%2C%22_window%20height%22%3A%22vensterhoogte%22%2C%22_window%20title%22%3A%22venstertitel%22%2C%22_window%20width%22%3A%22vensterbreedte%22%2C%22_window%20x%22%3A%22venster-x%22%2C%22_window%20y%22%3A%22venster-y%22%2C%22editorConfirmation%22%3A%22Weet%20je%20zeker%20dat%20je%20dit%20venster%20wilt%20sluiten%3F%5Cn%5Cn(Dit%20bericht%20wordt%20niet%20weergegeven%20wanneer%20het%20project%20gepackaged%20is)%22%7D%2C%22ru%22%3A%7B%22_Hello%20World!%22%3A%22%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%9C%D0%B8%D1%80!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%D0%9C%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C%20%D0%BD%D0%B0%20%D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D1%8B%D1%85%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0%D1%85%20%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B0%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D1%81%D0%BC.%20%D0%B2%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8%22%2C%22_Window%20Controls%22%3A%22%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%9E%D0%BA%D0%BD%D0%B0%22%2C%22_bottom%22%3A%22%D0%BD%D0%B8%D0%B7%22%2C%22_bottom%20left%22%3A%22%D0%BD%D0%B8%D0%B6%D0%BD%D0%B5%D0%BC%20%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_bottom%20right%22%3A%22%D0%BD%D0%B8%D0%B6%D0%BD%D0%B5%D0%BC%20%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_center%22%3A%22%D1%86%D0%B5%D0%BD%D1%82%D1%80%D1%83%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20x%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20y%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BY%5D%22%2C%22_close%20window%22%3A%22%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%22%2C%22_enter%20fullscreen%22%3A%22%D0%B2%D0%BE%D0%B9%D1%82%D0%B8%20%D0%B2%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%22%2C%22_exit%20fullscreen%22%3A%22%D0%B2%D1%8B%D0%B9%D1%82%D0%B8%20%D0%B8%D0%B7%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B0%22%2C%22_is%20window%20focused%3F%22%3A%22%D1%81%D1%84%D0%BE%D0%BA%D1%83%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BE%20%D0%BE%D0%BA%D0%BD%D0%BE%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22%D0%BA%D0%B0%D1%81%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BA%D1%80%D0%B0%D1%8F%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%3F%22%2C%22_left%22%3A%22%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%D1%83%20%D0%BA%D1%80%D0%B0%D1%8E%22%2C%22_match%20stage%20size%22%3A%22%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D1%83%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%B2%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BD%D0%B0%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5BW%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5BH%5D%22%2C%22_right%22%3A%22%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%D1%83%20%D0%BA%D1%80%D0%B0%D1%8E%22%2C%22_screen%20height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%22%2C%22_screen%20width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20x%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20y%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BY%5D%22%2C%22_top%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%22%2C%22_top%20left%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%D0%BD%D0%B5%D0%BC%20%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_top%20right%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%D0%BD%D0%B5%D0%BC%20%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_window%20height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20title%22%3A%22%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20x%22%3A%22x%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20y%22%3A%22y%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22editorConfirmation%22%3A%22%D0%92%D1%8B%20%D1%83%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D1%8B%2C%20%D1%87%D1%82%D0%BE%20%D1%85%D0%BE%D1%82%D0%B8%D1%82%D0%B5%20%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%8D%D1%82%D0%BE%20%D0%BE%D0%BA%D0%BD%D0%BE%3F%5Cn%5Cn(%D0%AD%D1%82%D0%BE%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B5%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D1%82%D1%81%D1%8F%20%D0%BF%D1%80%D0%B8%20%D1%83%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0)%22%7D%2C%22tr%22%3A%7B%22_Window%20Controls%22%3A%22Pencere%20Kontrolleri%22%7D%2C%22zh-cn%22%3A%7B%22_Hello%20World!%22%3A%22%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C%EF%BC%81%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%E5%8F%AF%E8%83%BD%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%E5%85%B7%E4%BD%93%E4%BF%A1%E6%81%AF%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3%22%2C%22_Window%20Controls%22%3A%22%E7%BD%91%E9%A1%B5%E6%8E%A7%E5%88%B6%22%2C%22_bottom%22%3A%22%E5%BA%95%E9%83%A8%22%2C%22_bottom%20left%22%3A%22%E5%BA%95%E9%83%A8%E5%B7%A6%E4%BE%A7%22%2C%22_bottom%20right%22%3A%22%E5%BA%95%E9%83%A8%E5%8F%B3%E4%BE%A7%22%2C%22_center%22%3A%22%E5%B1%85%E4%B8%AD%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84%E9%AB%98%E5%A2%9E%E5%8A%A0%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%AE%BD%E5%A2%9E%E5%8A%A0%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84x%E5%9D%90%E6%A0%87%E5%A2%9E%E5%8A%A0%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84y%E5%9D%90%E6%A0%87%E5%A2%9E%E5%8A%A0%5BY%5D%22%2C%22_close%20window%22%3A%22%E5%85%B3%E9%97%AD%E7%AA%97%E5%8F%A3%22%2C%22_enter%20fullscreen%22%3A%22%E8%BF%9B%E5%85%A5%E5%85%A8%E5%B1%8F%22%2C%22_exit%20fullscreen%22%3A%22%E9%80%80%E5%87%BA%E5%85%A8%E5%B1%8F%22%2C%22_is%20window%20focused%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E5%9C%A8%E8%A2%AB%E4%BD%BF%E7%94%A8%E5%90%97%EF%BC%9F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E5%85%A8%E5%B1%8F%E5%90%97%EF%BC%9F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E6%8E%A5%E8%A7%A6%E5%88%B0%E5%B1%8F%E5%B9%95%E8%BE%B9%E7%BC%98%E5%90%97%EF%BC%9F%22%2C%22_left%22%3A%22%E5%B1%85%E5%B7%A6%22%2C%22_match%20stage%20size%22%3A%22%E5%8C%B9%E9%85%8D%E8%88%9E%E5%8F%B0%E5%A4%A7%E5%B0%8F%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22%E7%A7%BB%E5%8A%A8%E9%A1%B5%E9%9D%A2%E5%88%B0%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%E7%A7%BB%E5%8A%A8%E9%A1%B5%E9%9D%A2%E5%88%B0x%5BX%5D%20y%5BY%5D%22%2C%22_random%20position%22%3A%22%E9%9A%8F%E6%9C%BA%E4%BD%8D%E7%BD%AE%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22%E6%94%B9%E5%8F%98%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%A4%A7%E5%B0%8F%E4%B8%BA%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22%E6%94%B9%E5%8F%98%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%A4%A7%E5%B0%8F%E4%B8%BA%E5%AE%BD%5BW%5D%E9%AB%98%5BH%5D%22%2C%22_right%22%3A%22%E5%B1%85%E5%8F%B3%22%2C%22_screen%20height%22%3A%22%E5%B1%8F%E5%B9%95%E9%AB%98%E5%BA%A6%22%2C%22_screen%20width%22%3A%22%E5%B1%8F%E5%B9%95%E5%AE%BD%E5%BA%A6%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84%E9%AB%98%E4%B8%BA%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98%E4%B8%BA%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%AE%BD%E4%B8%BA%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84x%E5%9D%90%E6%A0%87%E4%B8%BA%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84y%E5%9D%90%E6%A0%87%E4%B8%BA%5BY%5D%22%2C%22_top%22%3A%22%E9%A1%B6%E9%83%A8%22%2C%22_top%20left%22%3A%22%E9%A1%B6%E9%83%A8%E5%B7%A6%E4%BE%A7%22%2C%22_top%20right%22%3A%22%E9%A1%B6%E9%83%A8%E5%8F%B3%E4%BE%A7%22%2C%22_window%20height%22%3A%22%E9%A1%B5%E9%9D%A2%E9%AB%98%E5%BA%A6%22%2C%22_window%20title%22%3A%22%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98%22%2C%22_window%20width%22%3A%22%E9%A1%B5%E9%9D%A2%E5%AE%BD%E5%BA%A6%22%2C%22_window%20x%22%3A%22%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%BF%83%E7%9A%84x%E5%9D%90%E6%A0%87%22%2C%22_window%20y%22%3A%22%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%BF%83%E7%9A%84y%E5%9D%90%E6%A0%87%22%2C%22editorConfirmation%22%3A%22%E4%BD%A0%E7%A1%AE%E5%AE%9A%E5%85%B3%E9%97%AD%E9%A1%B5%E9%9D%A2%E5%90%97%EF%BC%9F%5Cn%5Cn%EF%BC%88%E6%89%93%E5%8C%85%E4%BD%9C%E5%93%81%E5%B9%B6%E4%B8%8D%E4%BC%9A%E6%98%BE%E7%A4%BA%E6%AD%A4%E6%B6%88%E6%81%AF%EF%BC%89%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20const%20icon%20%3D%0A%20%20%20%20%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA0GVYSWZJSSoACAAAAAoAAAEEAAEAAABAAAAAAQEEAAEAAABAAAAAAgEDAAMAAACGAAAAEgEDAAEAAAABAAAAGgEFAAEAAACMAAAAGwEFAAEAAACUAAAAKAEDAAEAAAACAAAAMQECAA0AAACcAAAAMgECABQAAACqAAAAaYcEAAEAAAC%2BAAAAAAAAAAgACAAIAEgAAAABAAAASAAAAAEAAABHSU1QIDIuMTAuMzQAADIwMjM6MDg6MTUgMjI6MjU6MTcAAQABoAMAAQAAAAEAAAAAAAAA%2BKkp0wAAAYRpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNAHMVfW6VFKgp2KOKQoTpZKCriqFUoQoVQK7TqYHLpFzRpSFJcHAXXgoMfi1UHF2ddHVwFQfADxNXFSdFFSvxfUmgR48FxP97de9y9A%2FzNKlPNngSgapaRSSWFXH5VCL4ihEEEEEVCYqY%2BJ4ppeI6ve%2Fj4ehfnWd7n%2Fhz9SsFkgE8gnmW6YRFvEE9vWjrnfeIIK0sK8TnxuEEXJH7kuuzyG%2BeSw36eGTGymXniCLFQ6mK5i1nZUImniGOKqlG%2BP%2BeywnmLs1qts%2FY9%2BQvDBW1lmes0R5DCIpYgQoCMOiqowkKcVo0UExnaT3r4hx2%2FSC6ZXBUwciygBhWS4wf%2Fg9%2FdmsXJCTcpnAR6X2z7YxQI7gKthm1%2FH9t26wQIPANXWsdfawIzn6Q3OlrsCBjYBi6uO5q8B1zuANEnXTIkRwrQ9BeLwPsZfVMeGLoF%2Btbc3tr7OH0AstRV%2BgY4OATGSpS97vHuUHdv%2F55p9%2FcDaOdyoyaJtEEAAA14aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu%2B7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI%2FPgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI%2BCiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmVkNmVmMzUwLWVjZDAtNGIwZC1iZjVlLTUxOTVkZjI4YzRhYiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmN2Y5ODViOC0yMjg3LTQxNmQtOTFjMC0zNTY3ZmQ1ZjhmMjAiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMzk3YTJiMC0zNDJjLTQ3MWMtYmQzNi0wNjExMTI2MDQwZmEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2OTIxNTYzMTc3MjY0NjciCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zNCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjM6MDg6MTVUMjI6MjU6MTctMDU6MDAiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDIzOjA4OjE1VDIyOjI1OjE3LTA1OjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk%2BCiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzlmYmE1ZjAtZmE4OC00M2ZjLTgyMjQtMGIwYjlhMGRkZDkyIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wOC0xNVQyMjoyNToxNy0wNTowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk%2BCiAgPC9yZGY6RGVzY3JpcHRpb24%2BCiA8L3JkZjpSREY%2BCjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw%2FeHBhY2tldCBlbmQ9InciPz45jkSCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wgQAxkRVAqqdwAAAchQTFRFAAAAGn%2ByG4CyHICzHX2yHYC1GoC0Gn%2ByGn%2BzGoCzG3%2BzG3%2B0G4CzHICzHIC0HIGzG3%2BzG4CzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzHIC0HIC0G3%2BzHIC0G3%2BzG3%2BzHoK2IIS5IYW5I4e8JIi9JYm%2BJou%2FJovAJ4zBKpDFLJLHLpXKMJjNMZnOMZnPMpnPM5vQM5vRNJzSNJ3TNZ7UNp%2FUN5%2FUOJ%2FUOZ%2FVO6DVPqHVQ6HVRqLWR6PWSKPWSaPWX6rYbK%2Fabq%2Fab7DadrPbd7Pce7Tcgbfdgbjdgrjdhrrfh7rfibvfirzfi7zfjLzfjLzgjb3gjr3gjr7gj77gkL7gkb%2FglMDhnMTjncTjoMfkosfko8jkpMjlpcnlsc%2Fns9HotNHoutXqvtbrv9frwNfswNjsxNrtzN%2Fvzd%2FvzeDvzeDwzuDwzuHw0eLw0uPx1uXy2Oby2Ofy2efz2%2Bjz3ur04u324%2B725O727vT57%2FX68Pb68fb68vb78vf78%2Ff68%2Ff79vn8%2Bfv9%2B%2Fz%2B%2FP3%2B%2Ff7%2B%2F%2F%2F%2FxM3NqwAAADF0Uk5TAAEBAQEBAgMDAwMDAwMDAwgIEBEcJjlUXV5panOEhY2Qra6vt8bO2Nri4%2Bzx9PT8%2FcI6cjwAAAABYktHRJfmbhuvAAAC10lEQVRYw7WX51%2FTUBSGr4KIiIoILaMT6LDL7pG2oSPHDW4FBwpO3CiCigP3QgUB77%2FrbdOkCaTkpsH3Qz7c5Dy%2FJPeec96DUA11GM12p8cfDPo9TrvZ2IG0aIvB6grFmQxb4AC4Apth4iGX1bCNMrzd5I4wLKwRy0TcpnaK8H0WXzILisomfRY1xM4ebyoPNZVPeXubNorvdEQHYUMNRh2dteO7AmlQVTrQXSN8ty2cAwrlwrZmpfi2vlgRqFSM9bcpxA8kOKAUlxhYR2juS4AGJfpb1wBsMQ6G7r94S6FX904AF7PJ47vDRZj4hSn1cxyK4S7Z%2FgdyML6CqbUyDrmA5Dy0OtIwtIDx6vyTx6qaml%2FFeGEI0o7qZvZEAe6S%2BDG6P3iFECYBor1i%2FnjJ%2BZ3B%2BB3tHnzAeJqcaq%2BQWZYUlAEzABc%2Bvxk%2B%2FvzLJbjz7emhmgD%2BWUhZKvnvy4uLnzB%2BdAvjr0e%2BY3xODZD38a9gSlYXn%2BG%2Fl8%2Bu4JcHP%2BI%2Fp9QAkDSV4re6s9XFw9fOA5y5eQxO3j4NqoCsu5EADBHZIo3EZyMGArAywuLsUUrNCgDGSgAuVgAsL1a0xF%2FlEm8uLS4LANZF6n9IfC0tqnxuqAMZ43oAcSMyMyJg7uIo0QjRqIJGqpoTAYwZ2TNQ%2Fy5Axo6crB4A60Segh5AwYP8nB4A50dB0AOAA3oBQf2foPsn6t5G3QdJcpTrAJCjLEmmOgAkmSTpXAeApLOkoGgHlAqKpKRpB5RLmu6i2igt69oAfFmXNRZtAL6xyFqbJoDQ2qTNVRNAaK58e5%2FG%2BH297b1sMCbpDcbVtQYDNYsWZ4rS4vwoWZwmucma0GKyxuQmi7d516lt3u8bxOZ1rzeaww%2BpjObrBwpGE%2B3QanW3b7bZ1mb3%2B%2FYqDQwt9ANHi76Rp%2Bv%2FDV0I7VId%2B3r2qM2t%2BgbPTRh9S2pQHr4bNE3w1fF%2F%2F4bj%2Fz8IjCsoNvb7bgAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0A%20%20function%20getRandomInt(min%2C%20max)%20%7B%0A%20%20%20%20min%20%3D%20Math.ceil(min)%3B%0A%20%20%20%20max%20%3D%20Math.floor(max)%3B%0A%20%20%20%20return%20Math.floor(Math.random()%20*%20(max%20-%20min%20%2B%201))%20%2B%20min%3B%0A%20%20%7D%0A%0A%20%20class%20WindowControls%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22cubesterWindowControls%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Window%20Controls%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23359ed4%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%23298ec2%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%232081b3%22%2C%0A%20%20%20%20%20%20%20%20menuIconURI%3A%20icon%2C%0A%20%20%20%20%20%20%20%20docsURI%3A%20%22https%3A%2F%2Fextensions.turbowarp.org%2FCubesterYT%2FWindowControls%22%2C%0A%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22May%20not%20work%20in%20normal%20browser%20tabs%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22Refer%20to%20Documentation%20for%20details%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22moveTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%220%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%220%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22moveToPresets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22move%20window%20to%20the%20%5BPRESETS%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20PRESETS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22MOVE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20x%20by%20%5BX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20x%20to%20%5BX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22100%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20y%20by%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20y%20to%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22100%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20x%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20y%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22resizeTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22resizeToPresets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22resize%20window%20to%20%5BPRESETS%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20PRESETS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22RESIZE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20width%20by%20%5BW%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20width%20to%20%5BW%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20height%20by%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20height%20to%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22matchStageSize%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22match%20stage%20size%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isTouchingEdge%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20touching%20screen%20edge%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22screenW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22screen%20width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22screenH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22screen%20height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isFocused%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20focused%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeTitleTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20title%20to%20%5BTITLE%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TITLE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22Hello%20World!%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowTitle%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20title%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22enterFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22enter%20fullscreen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22exitFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22exit%20fullscreen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20fullscreen%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22closeWindow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20isTerminal%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22close%20window%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20MOVE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22center%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22center%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%20right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%20right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%20left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%20left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%20right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%20right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%20left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%20left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22random%20position%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22random%20position%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20RESIZE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22480x360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22640x480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%221280x720%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%221920x1080%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%222560x1440%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%222048x1080%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%223840x2160%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%227680x4320%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20moveTo(args)%20%7B%0A%20%20%20%20%20%20window.moveTo(args.X%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20moveToPresets(args)%20%7B%0A%20%20%20%20%20%20if%20(args.PRESETS%20%3D%3D%20%22center%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22left%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%20right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%20left%22)%20%7B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%20right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%20left%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22random%20position%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20randomX%20%3D%20getRandomInt(0%2C%20screen.width)%3B%0A%20%20%20%20%20%20%20%20const%20randomY%20%3D%20getRandomInt(0%2C%20screen.height)%3B%0A%20%20%20%20%20%20%20%20window.moveTo(randomX%2C%20randomY)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeX(args)%20%7B%0A%20%20%20%20%20%20window.moveBy(args.X%2C%200)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setX(args)%20%7B%0A%20%20%20%20%20%20const%20currentY%20%3D%20window.screenY%3B%0A%20%20%20%20%20%20window.moveTo(args.X%2C%20currentY)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeY(args)%20%7B%0A%20%20%20%20%20%20window.moveBy(0%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setY(args)%20%7B%0A%20%20%20%20%20%20const%20currentX%20%3D%20window.screenX%3B%0A%20%20%20%20%20%20window.moveTo(currentX%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowX()%20%7B%0A%20%20%20%20%20%20return%20window.screenLeft%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowY()%20%7B%0A%20%20%20%20%20%20return%20window.screenTop%3B%0A%20%20%20%20%7D%0A%20%20%20%20resizeTo(args)%20%7B%0A%20%20%20%20%20%20window.resizeTo(args.W%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20resizeToPresets(args)%20%7B%0A%20%20%20%20%20%20if%20(args.PRESETS%20%3D%3D%20%22480x360%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%20480%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20360%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22640x480%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%20640%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20480%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%221280x720%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%201280%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20720%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%221920x1080%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%201920%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201080%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%222560x1440%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%202560%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201440%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%222048x1080%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%202048%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201080%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%223840x2160%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%203840%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%202160%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%227680x4320%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%207680%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%204320%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeW(args)%20%7B%0A%20%20%20%20%20%20window.resizeBy(args.W%2C%200)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setW(args)%20%7B%0A%20%20%20%20%20%20const%20currentH%20%3D%20window.outerHeight%3B%0A%20%20%20%20%20%20window.resizeTo(args.W%2C%20currentH)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeH(args)%20%7B%0A%20%20%20%20%20%20window.resizeBy(0%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setH(args)%20%7B%0A%20%20%20%20%20%20const%20currentW%20%3D%20window.outerWidth%3B%0A%20%20%20%20%20%20window.resizeTo(currentW%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20matchStageSize()%20%7B%0A%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20Scratch.vm.runtime.stageWidth%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20Scratch.vm.runtime.stageHeight%20%2B%0A%20%20%20%20%20%20%20%20%20%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowW()%20%7B%0A%20%20%20%20%20%20return%20window.outerWidth%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowH()%20%7B%0A%20%20%20%20%20%20return%20window.outerHeight%3B%0A%20%20%20%20%7D%0A%20%20%20%20isTouchingEdge()%20%7B%0A%20%20%20%20%20%20const%20edgeX%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20const%20edgeY%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20window.screenLeft%20%3C%3D%200%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenTop%20%3C%3D%200%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenLeft%20%3E%3D%20edgeX%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenTop%20%3E%3D%20edgeY%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%20%20%20%20screenW()%20%7B%0A%20%20%20%20%20%20return%20screen.width%3B%0A%20%20%20%20%7D%0A%20%20%20%20screenH()%20%7B%0A%20%20%20%20%20%20return%20screen.height%3B%0A%20%20%20%20%7D%0A%20%20%20%20isFocused()%20%7B%0A%20%20%20%20%20%20return%20document.hasFocus()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeTitleTo(args)%20%7B%0A%20%20%20%20%20%20document.title%20%3D%20args.TITLE%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowTitle()%20%7B%0A%20%20%20%20%20%20return%20document.title%3B%0A%20%20%20%20%7D%0A%20%20%20%20enterFullscreen()%20%7B%0A%20%20%20%20%20%20if%20(document.fullscreenElement%20%3D%3D%20null)%20%7B%0A%20%20%20%20%20%20%20%20document.documentElement.requestFullscreen()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20exitFullscreen()%20%7B%0A%20%20%20%20%20%20if%20(document.fullscreenElement%20!%3D%3D%20null)%20%7B%0A%20%20%20%20%20%20%20%20document.exitFullscreen()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20isFullscreen()%20%7B%0A%20%20%20%20%20%20return%20document.fullscreenElement%20!%3D%3D%20null%3B%0A%20%20%20%20%7D%0A%20%20%20%20closeWindow()%20%7B%0A%20%20%20%20%20%20const%20editorConfirmation%20%3D%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22editorConfirmation%22%2C%0A%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%22Are%20you%20sure%20you%20want%20to%20close%20this%20window%3F%5Cn%5Cn(This%20message%20will%20not%20appear%20when%20the%20project%20is%20packaged)%22%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%2F%2F%20%40ts-expect-error%0A%20%20%20%20%20%20if%20(typeof%20ScratchBlocks%20%3D%3D%3D%20%22undefined%22%20%7C%7C%20confirm(editorConfirmation))%20%7B%0A%20%20%20%20%20%20%20%20window.close()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20Scratch.extensions.register(new%20WindowControls())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Runtime%20Options%0A%2F%2F%20ID%3A%20runtimeoptions%0A%2F%2F%20Description%3A%20Get%20and%20modify%20turbo%20mode%2C%20framerate%2C%20interpolation%2C%20clone%20limit%2C%20stage%20size%2C%20and%20more.%0A%2F%2F%20License%3A%20MIT%20AND%20MPL-2.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22ca%22%3A%7B%22_Runtime%20Options%22%3A%22Opcions%20d'execuci%C3%B3%22%7D%2C%22cs%22%3A%7B%22_Runtime%20Options%22%3A%22Nastaven%C3%AD%20b%C4%9Bhu%22%7D%2C%22de%22%3A%7B%22_Runtime%20Options%22%3A%22Laufzeit-Optionen%22%7D%2C%22es%22%3A%7B%22_Runtime%20Options%22%3A%22Opciones%20de%20Runtime%22%7D%2C%22fr%22%3A%7B%22_Runtime%20Options%22%3A%22Options%20d'ex%C3%A9cution%22%7D%2C%22hu%22%3A%7B%22_Runtime%20Options%22%3A%22Lefut%C3%A1si%20Opci%C3%B3k%22%7D%2C%22it%22%3A%7B%22_Infinity%22%3A%22infinito%22%2C%22_Runtime%20Options%22%3A%22Opzioni%20Esecuzione%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20abilitato%22%2C%22_clone%20limit%22%3A%22limite%20cloni%22%2C%22_default%20(%7Bn%7D)%22%3A%22predefinito(%7Bn%7D)%22%2C%22_disabled%22%3A%22sblocca%22%2C%22_enabled%22%3A%22blocca%22%2C%22_framerate%22%3A%22frequenza%22%2C%22_framerate%20limit%22%3A%22limite%20framerate%22%2C%22_height%22%3A%22altezza%22%2C%22_high%20quality%20pen%22%3A%22penna%20alta%20qualit%C3%A0%22%2C%22_interpolation%22%3A%22interpolazione%22%2C%22_remove%20fencing%22%3A%22rimuovi%20i%20limiti%20dallo%20Stage%22%2C%22_remove%20misc%20limits%22%3A%22rimuovi%20limiti%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22esegui%20tutti%20i%20cappelli%20bandiera%20verde%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22imposta%20%5Bthing%5D%20a%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22imposta%20limite%20cloni%20a%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22imposta%20limite%20framerate%20a%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22imposta%20dimensioni%20Stage%20larghezza%3A%20%5Bwidth%5Daltezza%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22imposta%20username%20a%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20dello%20Stage%22%2C%22_stage%20size%22%3A%22dimensioni%20Stage%22%2C%22_turbo%20mode%22%3A%22modalit%C3%A0%20turbo%22%2C%22_width%22%3A%22larghezza%22%7D%2C%22ja%22%3A%7B%22_Infinity%22%3A%22%E7%84%A1%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%E3%81%8C%E6%9C%89%E5%8A%B9%22%2C%22_clone%20limit%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%84%A1%E5%8A%B9%22%2C%22_enabled%22%3A%22%E6%9C%89%E5%8A%B9%22%2C%22_framerate%20limit%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E3%81%95%22%2C%22_interpolation%22%3A%22%E8%A3%9C%E5%AE%8C%E6%A9%9F%E8%83%BD%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E7%B7%91%E3%81%AE%E6%97%97%5Bflag%5D%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%5Bthing%5D%E3%82%92%5Benabled%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Blimit%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Bfps%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%E6%A8%AA%E5%B9%85%E3%82%92%5Bwidth%5D%E9%AB%98%E3%81%95%E3%82%92%5Bheight%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%E3%82%92%5Busername%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%5Bdimension%5D%22%2C%22_turbo%20mode%22%3A%22%E3%82%BF%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%83%89%22%2C%22_username%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%22%2C%22_width%22%3A%22%E6%A8%AA%E5%B9%85%22%7D%2C%22ja-hira%22%3A%7B%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%7D%2C%22ko%22%3A%7B%22_Runtime%20Options%22%3A%22%EC%8B%A4%ED%96%89%20%EC%84%A4%EC%A0%95%22%7D%2C%22lt%22%3A%7B%22_Runtime%20Options%22%3A%22Paleidimo%20laiko%20parinktys%22%7D%2C%22nb%22%3A%7B%22_Infinity%22%3A%22Uendelighet%22%2C%22_Runtime%20Options%22%3A%22Kj%C3%B8retidsalternativer%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20aktivert%3F%22%2C%22_clone%20limit%22%3A%22klon%20grense%22%2C%22_default%20(%7Bn%7D)%22%3A%22standard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22deaktivert%22%2C%22_enabled%22%3A%22aktivert%22%2C%22_framerate%22%3A%22Bildetakt%22%2C%22_framerate%20limit%22%3A%22grense%20for%20bildefrekvens%22%2C%22_height%22%3A%22h%C3%B8yde%22%2C%22_high%20quality%20pen%22%3A%22H%C3%B8y%20kvalitet%20penn%22%2C%22_interpolation%22%3A%22interpolasjon%22%2C%22_remove%20fencing%22%3A%22Fjern%20gjerde%22%2C%22_remove%20misc%20limits%22%3A%22fjern%20diverse%20begrensninger%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22kj%C3%B8r%20gr%C3%B8nt%20flagg%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22sett%20%5Bthing%5D%20til%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22sett%20klon-grensen%20til%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22begrens%20bildefrekvensen%20til%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22sett%20scenest%C3%B8rrelse%20bredde%3A%20%5Bwidth%5D%20h%C3%B8yde%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22sett%20brukernavn%20til%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22scene%20%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22scenest%C3%B8rrelse%22%2C%22_turbo%20mode%22%3A%22turbo%20modus%22%2C%22_username%22%3A%22brukernavn%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22n%C3%A5r%20%5BWHAT%5D%20endret%20seg%22%2C%22_width%22%3A%22bredde%22%7D%2C%22nl%22%3A%7B%22_Infinity%22%3A%22oneindig%22%2C%22_Runtime%20Options%22%3A%22Looptijdopties%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20ingeschakeld%3F%22%2C%22_clone%20limit%22%3A%22kloonlimiet%22%2C%22_default%20(%7Bn%7D)%22%3A%22standaard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22uit%22%2C%22_enabled%22%3A%22in%22%2C%22_framerate%20limit%22%3A%22framerate-limiet%22%2C%22_height%22%3A%22hoogte%22%2C%22_high%20quality%20pen%22%3A%22pen%20met%20hoge%20kwaliteit%22%2C%22_interpolation%22%3A%22interpolatie%22%2C%22_remove%20fencing%22%3A%22waarde-limieten%20weghalen%22%2C%22_remove%20misc%20limits%22%3A%22diverse%20limieten%20weghalen%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22voer%20groene%20vlag%20%5Bflag%5D%20uit%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22schakel%20%5Bthing%5D%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22maak%20kloonlimiet%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22maak%20framerate-limiet%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22maak%20speelveldbreedte%3A%20%5Bwidth%5D%20en%20-hoogte%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22maak%20gebruikersnaam%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20van%20speelveld%22%2C%22_stage%20size%22%3A%22speelveldgrootte%22%2C%22_turbo%20mode%22%3A%22turbomodus%22%2C%22_username%22%3A%22gebruikersnaam%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22wanneer%20%5BWHAT%5D%20verandert%22%2C%22_width%22%3A%22breedte%22%7D%2C%22pl%22%3A%7B%22_Runtime%20Options%22%3A%22Opcje%20Uruchamiania%22%7D%2C%22pt%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22pt-br%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22ru%22%3A%7B%22_Infinity%22%3A%22%D0%91%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%22%2C%22_Runtime%20Options%22%3A%22%D0%9E%D0%BF%D1%86%D0%B8%D0%B8%20%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%3F%22%2C%22_clone%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%22%2C%22_default%20(%7Bn%7D)%22%3A%22%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_enabled%22%3A%22%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_framerate%22%3A%22%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_framerate%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%22%2C%22_high%20quality%20pen%22%3A%22%D0%BF%D0%B5%D1%80%D0%BE%20%D0%B2%20%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BC%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%22%2C%22_interpolation%22%3A%22%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%22%2C%22_remove%20fencing%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%BC%D0%BA%D1%83%22%2C%22_remove%20misc%20limits%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B7%D0%B5%D0%BB%D0%B5%D0%BD%D1%8B%D0%B9%20%D1%84%D0%BB%D0%B0%D0%B6%D0%BE%D0%BA%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%5Bthing%5D%20%D0%B2%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%B2%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%20%D0%B2%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5Bwidth%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5Bheight%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20%D0%BA%D0%B0%D0%BA%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_stage%20size%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_turbo%20mode%22%3A%22%D1%82%D1%83%D1%80%D0%B1%D0%BE%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%22%2C%22_username%22%3A%22%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%5BWHAT%5D%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%91%D0%BD%22%2C%22_width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%22%7D%2C%22sl%22%3A%7B%22_Runtime%20Options%22%3A%22Mo%C5%BEnosti%20izvajanja%22%7D%2C%22sv%22%3A%7B%22_Runtime%20Options%22%3A%22K%C3%B6rtidsalternativ%22%7D%2C%22tr%22%3A%7B%22_Runtime%20Options%22%3A%22%C3%87al%C4%B1%C5%9Fma%20Zaman%C4%B1%20Se%C3%A7enekleri%22%7D%2C%22uk%22%3A%7B%22_Runtime%20Options%22%3A%22%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B8%20%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F%22%7D%2C%22zh-cn%22%3A%7B%22_Infinity%22%3A%22%E6%97%A0%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E8%BF%90%E8%A1%8C%E9%80%89%E9%A1%B9%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%E5%90%AF%E7%94%A8%E4%BA%86%5Bthing%5D%EF%BC%9F%22%2C%22_clone%20limit%22%3A%22%E5%85%8B%E9%9A%86%E9%99%90%E5%88%B6%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E9%BB%98%E8%AE%A4%E5%80%BC(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%A6%81%E7%94%A8%22%2C%22_enabled%22%3A%22%E5%90%AF%E7%94%A8%22%2C%22_framerate%22%3A%22%E5%B8%A7%E7%8E%87%22%2C%22_framerate%20limit%22%3A%22FPS%E4%B8%8A%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E5%BA%A6%22%2C%22_high%20quality%20pen%22%3A%22%E9%AB%98%E6%B8%85%E7%94%BB%E7%AC%94%22%2C%22_interpolation%22%3A%22%E8%A1%A5%E5%B8%A7%22%2C%22_remove%20fencing%22%3A%22%E5%85%81%E8%AE%B8%E8%A7%92%E8%89%B2%E7%A7%BB%E5%87%BA%E8%88%9E%E5%8F%B0%22%2C%22_remove%20misc%20limits%22%3A%22%E5%8F%96%E6%B6%88%E9%9F%B3%E6%95%88%E8%8C%83%E5%9B%B4%E4%B8%8E%E7%94%BB%E7%AC%94%E5%A4%A7%E5%B0%8F%E9%99%90%E5%88%B6%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E8%BF%90%E8%A1%8C%E7%BB%BF%E6%97%97%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%E8%AE%BE%E7%BD%AE%5Bthing%5D%E4%B8%BA%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E5%85%8B%E9%9A%86%E4%BD%93%E9%99%90%E5%88%B6%E4%B8%BA%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E8%AE%BE%E7%BD%AEFPS%E4%B8%8A%E9%99%90%E4%B8%BA%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E6%8A%8A%E8%88%9E%E5%8F%B0%E5%A4%A7%E5%B0%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%AE%BD%5Bwidth%5D%20%E9%AB%98%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E7%94%A8%E6%88%B7%E5%90%8D%E7%A7%B0%E4%B8%BA%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E8%88%9E%E5%8F%B0%E7%9A%84%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22%E8%88%9E%E5%8F%B0%E5%B0%BA%E5%AF%B8%22%2C%22_turbo%20mode%22%3A%22%E7%BC%96%E8%AF%91%E6%A8%A1%E5%BC%8F%22%2C%22_username%22%3A%22%E7%94%A8%E6%88%B7%E5%90%8D%E7%A7%B0%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%E5%BD%93%5BWHAT%5D%E8%A2%AB%E4%BF%AE%E6%94%B9%E6%97%B6%22%2C%22_width%22%3A%22%E5%AE%BD%E5%BA%A6%22%7D%2C%22zh-tw%22%3A%7B%22_Runtime%20Options%22%3A%22%E9%81%8B%E8%A1%8C%E9%81%B8%E9%A0%85%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22Runtime%20Options%20extension%20needs%20to%20be%20run%20unsandboxed%22)%3B%0A%20%20%7D%0A%0A%20%20const%20greenFlagURI%20%3D%0A%20%20%20%20%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAABFFBMVEUAAACAgABVqlVJkklAn0BNmTNLljxGlzpDmzdFmjpGmzxHmz9Fmj1FmT5Emj1GmT1GmD1EmDxGmTxEmT1GmjxGmT1FmDxEmT5EmTxGmT5FmD1GmT5FmT1Gmj1EmT5FmT1FmT1FmDxGmT1FmjxLs09LtE9Jr0xJsk1Js05JtVBKtU5KtVBKtlBJrkpJsE1KtlFIrEpIsExLt1FLuFJKuVNIqkhLulNIp0VJqkhKtlJLvVRMvFNFmT5GpUVFmT1HpEVHokNMvlVFmT1Ho0NFmTxLvlVGoUFMvlVLvlVGn0BFmT1Nv1ZEmz5FmTxFmTxFmT1NvlZFmz9FmT5FnT9FnD5GnT9Mv1ZMv1ZMv1ZFmT1Mv1b%2F%2F%2F%2F70P2GAAAAWXRSTlMAAgMHCAoRFhcwMz0%2FRkdQVGFmaWpxcnh7gIGEhZKZo6eprLq%2Fv8DAwMDAwMDBwcHCwsPDxcbIysrLzM3Pz9DQ1NTV1dfZ29vg4uXm5%2Bjp6ens7fDx9Pv8%2FnPb5aAAAAABYktHRFt0vJU0AAAAsUlEQVQoz2NgwA3YhNiwS4hHykoou9goCrKiSUhGhqhZe7gbm3rxQwQ4BJihEupRYODooMDFyMAu6uMsgyoRFW5kHxjkqeuhL4cmAQM4JXRwSWjjktDEJaGFS0IVIeFtZuIaAZdQgUmY2%2FoqyTu5WcEkNGAS%2FkJMQJrbySAAJBxmGSoIlYAoYGCR8rPVM7QItuNlQJVgYGDlE5MU5kSErhz2%2BKCihEikNHYJJh5mBhIAADBcR%2Fr5OJzCAAAAAElFTkSuQmCC%22%3B%0A%20%20const%20TURBO_MODE%20%3D%20%22turbo%20mode%22%3B%0A%20%20const%20INTERPOLATION%20%3D%20%22interpolation%22%3B%0A%20%20const%20REMOVE_FENCING%20%3D%20%22remove%20fencing%22%3B%0A%20%20const%20REMOVE_MISC_LIMITS%20%3D%20%22remove%20misc%20limits%22%3B%0A%20%20const%20HIGH_QUALITY_PEN%20%3D%20%22high%20quality%20pen%22%3B%0A%20%20const%20FRAMERATE%20%3D%20%22framerate%22%3B%0A%20%20const%20CLONE_LIMIT%20%3D%20%22clone%20limit%22%3B%0A%20%20const%20STAGE_SIZE%20%3D%20%22stage%20size%22%3B%0A%20%20const%20USERNAME%20%3D%20%22username%22%3B%0A%0A%20%20%2F**%20%40param%20%7Bstring%7D%20what%20*%2F%0A%20%20const%20emitChanged%20%3D%20(what)%20%3D%3E%0A%20%20%20%20Scratch.vm.runtime.startHats(%22runtimeoptions_whenChange%22%2C%20%7B%0A%20%20%20%20%20%20WHAT%3A%20what%2C%0A%20%20%20%20%7D)%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40template%20T%0A%20%20%20*%20%40param%20%7BT%7D%20obj%0A%20%20%20*%20%40returns%20%7BT%7D%0A%20%20%20*%2F%0A%20%20const%20shallowCopy%20%3D%20(obj)%20%3D%3E%20Object.assign(%7B%7D%2C%20obj)%3B%0A%0A%20%20let%20previousRuntimeOptions%20%3D%20shallowCopy(Scratch.vm.runtime.runtimeOptions)%3B%0A%0A%20%20Scratch.vm.on(%22TURBO_MODE_OFF%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22TURBO_MODE_ON%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22INTERPOLATION_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(INTERPOLATION))%3B%0A%20%20Scratch.vm.on(%22RUNTIME_OPTIONS_CHANGED%22%2C%20(newOptions)%20%3D%3E%20%7B%0A%20%20%20%20if%20(newOptions.fencing%20!%3D%3D%20previousRuntimeOptions.fencing)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_FENCING)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.miscLimits%20!%3D%3D%20previousRuntimeOptions.miscLimits)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_MISC_LIMITS)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.maxClones%20!%3D%3D%20previousRuntimeOptions.maxClones)%20%7B%0A%20%20%20%20%20%20emitChanged(CLONE_LIMIT)%3B%0A%20%20%20%20%7D%0A%20%20%20%20previousRuntimeOptions%20%3D%20shallowCopy(newOptions)%3B%0A%20%20%7D)%3B%0A%20%20Scratch.vm.renderer.on(%22UseHighQualityRenderChanged%22%2C%20()%20%3D%3E%0A%20%20%20%20emitChanged(HIGH_QUALITY_PEN)%0A%20%20)%3B%0A%20%20Scratch.vm.on(%22FRAMERATE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(FRAMERATE))%3B%0A%20%20Scratch.vm.on(%22STAGE_SIZE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(STAGE_SIZE))%3B%0A%0A%20%20const%20originalPostData%20%3D%20Scratch.vm.runtime.ioDevices.userData.postData%3B%0A%20%20Scratch.vm.runtime.ioDevices.userData.postData%20%3D%20function%20(data)%20%7B%0A%20%20%20%20const%20newUsername%20%3D%20data.username%20!%3D%3D%20this._username%3B%0A%20%20%20%20originalPostData.call(this%2C%20data)%3B%0A%20%20%20%20if%20(newUsername)%20%7B%0A%20%20%20%20%20%20emitChanged(USERNAME)%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20class%20RuntimeOptions%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22runtimeoptions%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Runtime%20Options%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%238c9abf%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%237d8aab%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%236f7b99%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22%5Bthing%5D%20enabled%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20%5Bthing%5D%20to%20%5Benabled%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22enabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20framerate%20limit%20to%20%5Bfps%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20fps%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2230%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20clone%20limit%20to%20%5Blimit%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20limit%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22clones%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getDimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22stage%20%5Bdimension%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20description%3A%20%22%5Bdimension%5D%20is%20a%20dropdown%20of%20width%20and%20height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22dimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setDimensions%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setUsername%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20username%20to%20%5Busername%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20username%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22greenFlag%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22run%20green%20flag%20%5Bflag%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20flag%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.IMAGE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dataURI%3A%20greenFlagURI%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22whenChange%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.EVENT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22when%20%5BWHAT%5D%20changed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20isEdgeActivated%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHAT%3A%20%7B%20type%3A%20Scratch.ArgumentType.STRING%2C%20menu%3A%20%22changeable%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20changeable%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20FRAMERATE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20CLONE_LIMIT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22stage%20size%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20STAGE_SIZE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22username%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20USERNAME%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22enabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22disabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22false%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20clones%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22default%20(%7Bn%7D)%22%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20n%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22Infinity%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22Infinity%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getEnabled(%7B%20thing%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.turboMode%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.interpolationEnabled%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.fencing%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.miscLimits%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.renderer.useHighQualityRender%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setEnabled(%7B%20thing%2C%20enabled%20%7D)%20%7B%0A%20%20%20%20%20%20enabled%20%3D%20Scratch.Cast.toBoolean(enabled)%3B%0A%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setTurboMode(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setInterpolation(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20fencing%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20miscLimits%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.renderer.setUseHighQualityRender(enabled)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20getFramerate()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.frameLoop.framerate%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setFramerate(%7B%20fps%20%7D)%20%7B%0A%20%20%20%20%20%20fps%20%3D%20Scratch.Cast.toNumber(fps)%3B%0A%20%20%20%20%20%20Scratch.vm.setFramerate(fps)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getCloneLimit()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.runtimeOptions.maxClones%3B%0A%20%20%20%20%7D%0A%20%20%20%20setCloneLimit(%7B%20limit%20%7D)%20%7B%0A%20%20%20%20%20%20limit%20%3D%20Scratch.Cast.toNumber(limit)%3B%0A%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20maxClones%3A%20limit%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getDimension(%7B%20dimension%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(dimension%20%3D%3D%3D%20%22width%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageWidth%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(dimension%20%3D%3D%3D%20%22height%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%200%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setDimensions(%7B%20width%2C%20height%20%7D)%20%7B%0A%20%20%20%20%20%20width%20%3D%20Scratch.Cast.toNumber(width)%3B%0A%20%20%20%20%20%20height%20%3D%20Scratch.Cast.toNumber(height)%3B%0A%20%20%20%20%20%20Scratch.vm.setStageSize(width%2C%20height)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setUsername(%7B%20username%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.vm.postIOData(%22userData%22%2C%20%7B%0A%20%20%20%20%20%20%20%20username%3A%20Scratch.Cast.toString(username)%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20greenFlag()%20%7B%0A%20%20%20%20%20%20Scratch.vm.runtime.greenFlag()%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20RuntimeOptions())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B"]) {
vm.extensionManager.loadExtensionURL(extension);
}
vm.runtime.on('PROJECT_RUN_STOP', () => {
if (!vm.isPaused || !vm.isPaused()) {
window.close();
}
});
} catch (e) {
handleError(e);
}
</script>
<script>
const getProjectData = (function() {
const storage = scaffolding.storage;
storage.onprogress = (total, loaded) => {
setProgress(interpolate(0.2, 0.98, loaded / total));
};
storage.addWebStore(
[
storage.AssetType.ImageVector,
storage.AssetType.ImageBitmap,
storage.AssetType.Sound,
storage.AssetType.Font
].filter(i => i),
(asset) => new URL('./assets/' + asset.assetId + '.' + asset.dataFormat, location).href
);
return () => new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.onload = () => {
resolve(xhr.response);
};
xhr.onerror = () => {
if (location.protocol === 'file:') {
reject(new Error('Zip environment must be used from a website, not from a file URL.'));
} else {
reject(new Error('Request to load project data failed.'));
}
};
xhr.onprogress = (e) => {
if (e.lengthComputable) {
setProgress(interpolate(0.1, 0.2, e.loaded / e.total));
}
};
xhr.responseType = 'arraybuffer';
xhr.open('GET', "./assets/project.json");
xhr.send();
});
})();
</script>
<script>
const run = async () => {
const projectData = await getProjectData();
await scaffolding.loadProject(projectData);
setProgress(1);
loadingScreen.hidden = true;
if (true) {
scaffolding.start();
} else {
launchScreen.hidden = false;
launchScreen.addEventListener('click', () => {
launchScreen.hidden = true;
scaffolding.start();
});
launchScreen.focus();
}
};
run().catch(handleError);
</script>
</body>
</html>