From 96342bc68d313ae8ca90f49b484535acbe330e3e Mon Sep 17 00:00:00 2001 From: sehugg Date: Sun, 27 Sep 2026 13:16:40 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20sehugg/8?= =?UTF-8?q?bitworkshop@2edefdf2a58f124bad9fd596e40ea235eb9d806d=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gen/ide/views/editors.js | 13 ++- gen/ide/views/editors.js.map | 2 +- gen/ide/views/tabs.js | 32 +++++++ gen/ide/views/tabs.js.map | 2 +- gen/parser/lang-c.js | 64 ++++++++++++++ gen/parser/lang-c.js.map | 1 + gen/parser/registry.js | 2 +- gen/parser/registry.js.map | 2 +- gen/src/ide/views/editors.js | 13 ++- gen/src/ide/views/editors.js.map | 2 +- gen/src/ide/views/tabs.js | 32 +++++++ gen/src/ide/views/tabs.js.map | 2 +- gen/src/parser/lang-c.js | 64 ++++++++++++++ gen/src/parser/lang-c.js.map | 1 + gen/src/parser/registry.js | 2 +- gen/src/parser/registry.js.map | 2 +- gen/test/tsconfig.tsbuildinfo | 2 +- gen/test/unit/testclang.js | 69 +++++++++++++++ gen/test/unit/testclang.js.map | 1 + gen/test/unit/testtabs.js | 14 +++ gen/test/unit/testtabs.js.map | 2 +- gen/tsconfig.tsbuildinfo | 2 +- gen/ui.js | 141 ++++++++++++++++--------------- gen/ui.js.map | 8 +- src/ide/views/editors.ts | 16 +++- src/ide/views/tabs.ts | 22 +++++ src/parser/lang-c.ts | 61 +++++++++++++ src/parser/registry.ts | 2 +- 28 files changed, 480 insertions(+), 96 deletions(-) create mode 100644 gen/parser/lang-c.js create mode 100644 gen/parser/lang-c.js.map create mode 100644 gen/src/parser/lang-c.js create mode 100644 gen/src/parser/lang-c.js.map create mode 100644 gen/test/unit/testclang.js create mode 100644 gen/test/unit/testclang.js.map create mode 100644 src/parser/lang-c.ts diff --git a/gen/ide/views/editors.js b/gen/ide/views/editors.js index d6f3a86d..21752bee 100644 --- a/gen/ide/views/editors.js +++ b/gen/ide/views/editors.js @@ -103,6 +103,8 @@ function getEditorSelectionText(view) { class SourceEditor { constructor(path, mode) { this.updateTimer = null; + this.indentUnitCompartment = new state_1.Compartment(); + this.isAsm = false; this.dirtylisting = true; this.refreshDelayMsec = 300; this.probe = null; @@ -185,6 +187,7 @@ class SourceEditor { lineNums = false; // no line numbers while embedded isAsm = false; // no opcode bytes either } + this.isAsm = isAsm; const minimalGutters = modedef.noGutters || baseviews_1.isMobileDevice; var parser; const registryEntry = registry_1.parserRegistry[this.mode]; @@ -199,8 +202,8 @@ class SourceEditor { parent: parent, doc: text, extensions: [ - // Non-asm: 2-space indent (placed before settings so it takes precedence over tabSize-based indentUnit) - isAsm ? [] : language_1.indentUnit.of(" "), + // Non-asm: indent unit detected from the file (placed before settings so it takes precedence over tabSize-based indentUnit) + this.indentUnitCompartment.of(this.indentUnitFor(text)), // Asm: copy previous line's indentation since asm parsers lack proper indent rules isAsm ? language_1.indentService.of((context, pos) => { let lineNum = context.state.doc.lineAt(pos).number; @@ -361,12 +364,16 @@ class SourceEditor { }); } } + indentUnitFor(text) { + return this.isAsm ? [] : language_1.indentUnit.of((0, tabs_1.detectIndentUnit)(text)); + } setText(text) { var oldtext = this.editor.state.doc.toString(); if (oldtext != text) { this.editor.dispatch({ changes: { from: 0, to: this.editor.state.doc.length, insert: text }, - annotations: commands_1.isolateHistory.of("full") + annotations: commands_1.isolateHistory.of("full"), + effects: this.indentUnitCompartment.reconfigure(this.indentUnitFor(text)), }); } } diff --git a/gen/ide/views/editors.js.map b/gen/ide/views/editors.js.map index 0b35e49c..1b9347c7 100644 --- a/gen/ide/views/editors.js.map +++ b/gen/ide/views/editors.js.map @@ -1 +1 @@ -{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/ide/views/editors.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/ide/views/editors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/ide/views/tabs.js b/gen/ide/views/tabs.js index 6c92a6e7..06166cc1 100644 --- a/gen/ide/views/tabs.js +++ b/gen/ide/views/tabs.js @@ -2,6 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.insertTabKeymap = exports.insertSpacesKeymap = exports.lineBasedEnterKeymap = void 0; exports.spacesToTabStop = spacesToTabStop; +exports.detectIndentUnit = detectIndentUnit; exports.hasLineNumbers = hasLineNumbers; exports.inferAsmTabStops = inferAsmTabStops; exports.asmTabChange = asmTabChange; @@ -20,6 +21,37 @@ function spacesToTabStop(state, head) { const stop = /^\s*$/.test(before) ? (0, language_1.getIndentUnit)(state) : state.tabSize; return " ".repeat(stop - (col % stop)); } +// Guess a file's indent unit: "\t" if most indented lines start with a tab, +// else the most common step (2-8 spaces) between consecutive lines, else 2 spaces. +function detectIndentUnit(text) { + const steps = new Map(); + let tabLines = 0, spaceLines = 0, prev = 0; + for (const line of text.split("\n", 2000)) { + if (!line.trim()) + continue; + if (line[0] == "\t") { + tabLines++; + continue; + } + const indent = line.length - line.trimStart().length; + if (indent > 0) + spaceLines++; + const step = indent - prev; + if (step >= 2 && step <= 8) + steps.set(step, (steps.get(step) || 0) + 1); + prev = indent; + } + if (tabLines > spaceLines) + return "\t"; + let best = 2, bestCount = 0; + for (const [step, count] of steps) { + if (count > bestCount || (count == bestCount && step < best)) { + best = step; + bestCount = count; + } + } + return " ".repeat(best); +} // Insert spaces from the cursor up to the next tab stop. // A non-empty selection indents the selected lines instead. function insertSpacesToTabStop(view) { diff --git a/gen/ide/views/tabs.js.map b/gen/ide/views/tabs.js.map index 93039a1c..769eac3f 100644 --- a/gen/ide/views/tabs.js.map +++ b/gen/ide/views/tabs.js.map @@ -1 +1 @@ -{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/ide/views/tabs.ts"],"names":[],"mappings":";;;AAQA,0CAMC;AAkBD,wCAKC;AA2ED,4CAsBC;AA8CD,oCAWC;AAKD,8CA+BC;AAmCD,0CAKC;AA3QD,mDAAwF;AACxF,mDAAqD;AACrD,6CAA8E;AAG9E,4EAA4E;AAC5E,8EAA8E;AAC9E,iCAAiC;AACjC,SAAgB,eAAe,CAAC,KAAkB,EAAE,IAAY;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACzE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,4DAA4D;AAC5D,SAAS,qBAAqB,CAAC,IAAgB;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;YACrC,KAAK,EAAE,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;SAC1D,CAAC;IACJ,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,SAAgB,cAAc,CAAC,KAAkB;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,+CAA+C;AAClC,QAAA,oBAAoB,GAAiB;IAChD,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,wBAAa,EAAC,IAAI,CAAC,EAAE;CACjF,CAAC;AAEW,QAAA,kBAAkB,GAAiB;IAC9C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE;IAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAU,EAAE;CACtC,CAAC;AAEW,QAAA,eAAe,GAAiB;IAC3C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAS,EAAE;IAC9B,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAU,EAAE;CACtC,CAAC;AAEF,sEAAsE;AACtE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,sFAAsF;AACtF,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,2EAA2E;AAC3E,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,aAAa;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,yEAAyE;AACzE,qEAAqE;AACrE,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sDAAsD;AACtD,SAAS,OAAO,CAAC,GAAW,EAAE,IAAyB;IACrD,IAAI,GAAG,GAAG,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,8BAA8B;AAC9B,SAAS,oBAAoB,CAAC,IAAY,EAAE,IAAyB;IACnE,0DAA0D;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,CAAC;IAClB,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;YAAE,MAAM;QAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,mEAAmE;IACnE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,EAAE;QAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,iDAAiD;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAClE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;AACrE,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,8EAA8E;AAC9E,iFAAiF;AACjF,2EAA2E;AAC3E,4BAA4B;AAC5B,SAAgB,gBAAgB,CAAC,KAAkB,EAAE,GAAW;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,IAAY,EAAE,IAAyB,EAAU,EAAE;QACzF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,IAAI,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC5C,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACtG,IAAI,KAAK,GAAG,qBAAqB,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+DAA+D;AAC/D,uCAAuC;AACvC,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW,EAAE,IAAY;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,CAAC,CAAC;YAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,2DAA2D;AAC3D,2CAA2C;AAC3C,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW,EAAE,IAAY;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,CAAC,CAAC;YAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,wEAAwE;AACxE,gEAAgE;AAChE,SAAS,UAAU,CAAC,KAAkB,EAAE,GAAW;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,IAAyB;IACzC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5G,CAAC;AAED,SAAgB,YAAY,CAAC,KAAkB,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,QAAQ,GAAG,qBAAqB,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,cAAc,MAAM,EAAE;UACjK,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,uEAAuE;AACvE,iFAAiF;AACjF,sDAAsD;AACtD,SAAgB,iBAAiB,CAAC,KAAkB,EAAE,IAAY;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,sCAAsC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+DAA+D;IAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACpG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IACD,8DAA8D;IAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC9H,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,GAAG,wCAAwC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oFAAoF;IACpF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,GAAG,qBAAqB,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,qBAAqB,MAAM,KAAK,GAAG,EAAE;UACtL,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,kEAAkE;AAClE,SAAS,eAAe,CAAC,IAAgB;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,mCAAmC;IACjG,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,uDAAuD;AACvD,SAAS,uBAAuB,CAAC,IAAgB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,uBAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5C,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,SAAgB,eAAe,CAAC,YAA2B;IACzD,OAAO;QACL,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;QAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,uBAAuB,CAAC,CAAC,CAAC,EAAE;KAC7E,CAAC;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/ide/views/tabs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/parser/lang-c.js b/gen/parser/lang-c.js new file mode 100644 index 00000000..baf561d7 --- /dev/null +++ b/gen/parser/lang-c.js @@ -0,0 +1,64 @@ +"use strict"; +// C language support: @fazelstudio/codemirror-lang-c with fixed indent rules. +// The package's IfStatement rule calls a nonexistent context.matchCh() and +// throws, which leaves Enter with no indentation, and it doesn't indent case bodies. +// Inside braces, a new line matches the statement above it, so files keep +// their own indent width. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cLanguage = void 0; +exports.c = c; +const language_1 = require("@codemirror/language"); +const codemirror_lang_c_1 = require("@fazelstudio/codemirror-lang-c"); +const blockIndent = (0, language_1.delimitedIndent)({ closing: "}" }); +const caseLabel = /^\s*(case\b|default\b|\})/; +const skipSiblings = new Set(["{", "BlockComment", "LineComment", "PreprocDirective"]); +// Indentation of the nearest item above 'pos' in this braced node that starts +// its own line below the opening brace, or null if there is none. +function siblingIndent(context) { + const doc = context.state.doc; + const openLine = doc.lineAt(context.node.from).number; + for (let child = context.node.childBefore(context.pos); child; child = child.prevSibling) { + if (skipSiblings.has(child.name) || child.type.isError) + continue; + const line = doc.lineAt(child.from); + if (line.number <= openLine) + break; + if (/^\s*$/.test(line.text.slice(0, child.from - line.from))) + return context.lineIndent(child.from); + } + return null; +} +// Closing brace aligns with the opener; other lines match the item above. +function bracedIndent(context) { + if (!/^\s*\}/.test(context.textAfter)) { + const indent = siblingIndent(context); + if (indent != null) + return indent; + } + return blockIndent(context); +} +exports.cLanguage = codemirror_lang_c_1.cLanguage.configure({ + props: [ + language_1.indentNodeProp.add({ + IfStatement: (0, language_1.continuedIndent)({ except: /^\s*({|else\b)/ }), + // In a switch body, lines after "case x:" indent one unit past the label. + CompoundStatement: (context) => { + var _a; + if (((_a = context.node.parent) === null || _a === void 0 ? void 0 : _a.name) == "SwitchStatement" && !caseLabel.test(context.textAfter)) { + const last = context.node.childBefore(context.pos); + if ((last === null || last === void 0 ? void 0 : last.name) == "CaseStatement") + return context.lineIndent(last.from) + context.unit; + } + return bracedIndent(context); + }, + FieldDeclarationList: bracedIndent, + EnumeratorList: bracedIndent, + InitializerList: bracedIndent, + CaseStatement: (context) => context.baseIndent + (caseLabel.test(context.textAfter) ? 0 : context.unit), + }), + ], +}); +function c() { + return new language_1.LanguageSupport(exports.cLanguage); +} +//# sourceMappingURL=lang-c.js.map \ No newline at end of file diff --git a/gen/parser/lang-c.js.map b/gen/parser/lang-c.js.map new file mode 100644 index 00000000..2fefd86f --- /dev/null +++ b/gen/parser/lang-c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lang-c.js","sourceRoot":"","sources":["../../src/parser/lang-c.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/parser/registry.js b/gen/parser/registry.js index 6dde9a33..88d47d14 100644 --- a/gen/parser/registry.js +++ b/gen/parser/registry.js @@ -39,7 +39,7 @@ exports.parserRegistry = void 0; exports.getParserForStyle = getParserForStyle; exports.getLanguageSupportForStyle = getLanguageSupportForStyle; exports.getDefaultLanguageParser = getDefaultLanguageParser; -const lang_c = __importStar(require("@fazelstudio/codemirror-lang-c")); +const lang_c = __importStar(require("./lang-c")); const lang_6502_1 = require("./lang-6502"); const lang_z80_1 = require("./lang-z80"); const lang_wiz_1 = require("./lang-wiz"); diff --git a/gen/parser/registry.js.map b/gen/parser/registry.js.map index 5633853a..9ccb979a 100644 --- a/gen/parser/registry.js.map +++ b/gen/parser/registry.js.map @@ -1 +1 @@ -{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/parser/registry.ts"],"names":[],"mappings":";AAAA,8FAA8F;AAC9F,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GjD,8CAGC;AAED,gEAGC;AAED,4DAEC;AArHD,uEAAyD;AACzD,2CAAsC;AACtC,yCAAoC;AACpC,yCAAkD;AAClD,iDAA8D;AAC9D,iDAA8D;AAC9D,+CAA2D;AAC3D,6CAAwD;AACxD,qDAAoE;AACpE,yDAA0E;AAC1E,6DAAqD;AA+BxC,QAAA,cAAc,GAAwC;IACjE,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,mBAAO,GAAE;QACnB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAA,iBAAM,GAAE;QAClB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAA,cAAG,GAAE;QACf,MAAM,EAAE,0BAAe;KACxB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,oBAAM,GAAE;QAClB,MAAM,EAAE,gCAAkB;KAC3B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,kBAAK,GAAE;QACjB,MAAM,EAAE,8BAAiB;KAC1B;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAA,0BAAS,GAAE;QACrB,MAAM,EAAE,sCAAqB;KAC9B;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,IAAA,8BAAW,GAAE;QACvB,MAAM,EAAE,0CAAuB;KAChC;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,wBAAQ,GAAE;QACpB,MAAM,EAAE,IAAI;KACb;IACD,+BAA+B;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAmB;;IACnD,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAgB,0BAA0B,CAAC,WAAmB;;IAC5D,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC;AACpB,CAAC"} \ No newline at end of file +{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/parser/registry.ts"],"names":[],"mappings":";AAAA,8FAA8F;AAC9F,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GjD,8CAGC;AAED,gEAGC;AAED,4DAEC;AArHD,iDAAmC;AACnC,2CAAsC;AACtC,yCAAoC;AACpC,yCAAkD;AAClD,iDAA8D;AAC9D,iDAA8D;AAC9D,+CAA2D;AAC3D,6CAAwD;AACxD,qDAAoE;AACpE,yDAA0E;AAC1E,6DAAqD;AA+BxC,QAAA,cAAc,GAAwC;IACjE,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,mBAAO,GAAE;QACnB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAA,iBAAM,GAAE;QAClB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAA,cAAG,GAAE;QACf,MAAM,EAAE,0BAAe;KACxB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,oBAAM,GAAE;QAClB,MAAM,EAAE,gCAAkB;KAC3B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,kBAAK,GAAE;QACjB,MAAM,EAAE,8BAAiB;KAC1B;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAA,0BAAS,GAAE;QACrB,MAAM,EAAE,sCAAqB;KAC9B;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,IAAA,8BAAW,GAAE;QACvB,MAAM,EAAE,0CAAuB;KAChC;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,wBAAQ,GAAE;QACpB,MAAM,EAAE,IAAI;KACb;IACD,+BAA+B;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAmB;;IACnD,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAgB,0BAA0B,CAAC,WAAmB;;IAC5D,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC;AACpB,CAAC"} \ No newline at end of file diff --git a/gen/src/ide/views/editors.js b/gen/src/ide/views/editors.js index d6f3a86d..21752bee 100644 --- a/gen/src/ide/views/editors.js +++ b/gen/src/ide/views/editors.js @@ -103,6 +103,8 @@ function getEditorSelectionText(view) { class SourceEditor { constructor(path, mode) { this.updateTimer = null; + this.indentUnitCompartment = new state_1.Compartment(); + this.isAsm = false; this.dirtylisting = true; this.refreshDelayMsec = 300; this.probe = null; @@ -185,6 +187,7 @@ class SourceEditor { lineNums = false; // no line numbers while embedded isAsm = false; // no opcode bytes either } + this.isAsm = isAsm; const minimalGutters = modedef.noGutters || baseviews_1.isMobileDevice; var parser; const registryEntry = registry_1.parserRegistry[this.mode]; @@ -199,8 +202,8 @@ class SourceEditor { parent: parent, doc: text, extensions: [ - // Non-asm: 2-space indent (placed before settings so it takes precedence over tabSize-based indentUnit) - isAsm ? [] : language_1.indentUnit.of(" "), + // Non-asm: indent unit detected from the file (placed before settings so it takes precedence over tabSize-based indentUnit) + this.indentUnitCompartment.of(this.indentUnitFor(text)), // Asm: copy previous line's indentation since asm parsers lack proper indent rules isAsm ? language_1.indentService.of((context, pos) => { let lineNum = context.state.doc.lineAt(pos).number; @@ -361,12 +364,16 @@ class SourceEditor { }); } } + indentUnitFor(text) { + return this.isAsm ? [] : language_1.indentUnit.of((0, tabs_1.detectIndentUnit)(text)); + } setText(text) { var oldtext = this.editor.state.doc.toString(); if (oldtext != text) { this.editor.dispatch({ changes: { from: 0, to: this.editor.state.doc.length, insert: text }, - annotations: commands_1.isolateHistory.of("full") + annotations: commands_1.isolateHistory.of("full"), + effects: this.indentUnitCompartment.reconfigure(this.indentUnitFor(text)), }); } } diff --git a/gen/src/ide/views/editors.js.map b/gen/src/ide/views/editors.js.map index 1e62e1a6..ef77c222 100644 --- a/gen/src/ide/views/editors.js.map +++ b/gen/src/ide/views/editors.js.map @@ -1 +1 @@ -{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../../src/ide/views/editors.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../../src/ide/views/editors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/src/ide/views/tabs.js b/gen/src/ide/views/tabs.js index 6c92a6e7..06166cc1 100644 --- a/gen/src/ide/views/tabs.js +++ b/gen/src/ide/views/tabs.js @@ -2,6 +2,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.insertTabKeymap = exports.insertSpacesKeymap = exports.lineBasedEnterKeymap = void 0; exports.spacesToTabStop = spacesToTabStop; +exports.detectIndentUnit = detectIndentUnit; exports.hasLineNumbers = hasLineNumbers; exports.inferAsmTabStops = inferAsmTabStops; exports.asmTabChange = asmTabChange; @@ -20,6 +21,37 @@ function spacesToTabStop(state, head) { const stop = /^\s*$/.test(before) ? (0, language_1.getIndentUnit)(state) : state.tabSize; return " ".repeat(stop - (col % stop)); } +// Guess a file's indent unit: "\t" if most indented lines start with a tab, +// else the most common step (2-8 spaces) between consecutive lines, else 2 spaces. +function detectIndentUnit(text) { + const steps = new Map(); + let tabLines = 0, spaceLines = 0, prev = 0; + for (const line of text.split("\n", 2000)) { + if (!line.trim()) + continue; + if (line[0] == "\t") { + tabLines++; + continue; + } + const indent = line.length - line.trimStart().length; + if (indent > 0) + spaceLines++; + const step = indent - prev; + if (step >= 2 && step <= 8) + steps.set(step, (steps.get(step) || 0) + 1); + prev = indent; + } + if (tabLines > spaceLines) + return "\t"; + let best = 2, bestCount = 0; + for (const [step, count] of steps) { + if (count > bestCount || (count == bestCount && step < best)) { + best = step; + bestCount = count; + } + } + return " ".repeat(best); +} // Insert spaces from the cursor up to the next tab stop. // A non-empty selection indents the selected lines instead. function insertSpacesToTabStop(view) { diff --git a/gen/src/ide/views/tabs.js.map b/gen/src/ide/views/tabs.js.map index e19affe4..97cbe26b 100644 --- a/gen/src/ide/views/tabs.js.map +++ b/gen/src/ide/views/tabs.js.map @@ -1 +1 @@ -{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/ide/views/tabs.ts"],"names":[],"mappings":";;;AAQA,0CAMC;AAkBD,wCAKC;AA2ED,4CAsBC;AA8CD,oCAWC;AAKD,8CA+BC;AAmCD,0CAKC;AA3QD,mDAAwF;AACxF,mDAAqD;AACrD,6CAA8E;AAG9E,4EAA4E;AAC5E,8EAA8E;AAC9E,iCAAiC;AACjC,SAAgB,eAAe,CAAC,KAAkB,EAAE,IAAY;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACzE,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,4DAA4D;AAC5D,SAAS,qBAAqB,CAAC,IAAgB;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAA,qBAAU,EAAC,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;YACrC,KAAK,EAAE,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;SAC1D,CAAC;IACJ,CAAC,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,SAAgB,cAAc,CAAC,KAAkB;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,+CAA+C;AAClC,QAAA,oBAAoB,GAAiB;IAChD,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAA,wBAAa,EAAC,IAAI,CAAC,EAAE;CACjF,CAAC;AAEW,QAAA,kBAAkB,GAAiB;IAC9C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,qBAAqB,EAAE;IAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAU,EAAE;CACtC,CAAC;AAEW,QAAA,eAAe,GAAiB;IAC3C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAS,EAAE;IAC9B,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAU,EAAE;CACtC,CAAC;AAEF,sEAAsE;AACtE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,sFAAsF;AACtF,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,2EAA2E;AAC3E,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,aAAa;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,yEAAyE;AACzE,qEAAqE;AACrE,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sDAAsD;AACtD,SAAS,OAAO,CAAC,GAAW,EAAE,IAAyB;IACrD,IAAI,GAAG,GAAG,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,8BAA8B;AAC9B,SAAS,oBAAoB,CAAC,IAAY,EAAE,IAAyB;IACnE,0DAA0D;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,MAAM,CAAC;IAClB,IAAI,CAAC,CAAC;IACN,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;YAAE,MAAM;QAChC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,mEAAmE;IACnE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,EAAE;QAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,iDAAiD;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB;IAClE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB;AACrE,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,8EAA8E;AAC9E,iFAAiF;AACjF,2EAA2E;AAC3E,4BAA4B;AAC5B,SAAgB,gBAAgB,CAAC,KAAkB,EAAE,GAAW;IAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,IAAY,EAAE,IAAyB,EAAU,EAAE;QACzF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,sBAAsB,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,IAAI,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC5C,yEAAyE;IACzE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACtG,IAAI,KAAK,GAAG,qBAAqB,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+DAA+D;AAC/D,uCAAuC;AACvC,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW,EAAE,IAAY;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,CAAC,CAAC;YAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7C,CAAC;AAED,2DAA2D;AAC3D,2CAA2C;AAC3C,SAAS,QAAQ,CAAC,IAAyB,EAAE,GAAW,EAAE,IAAY;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,GAAG,CAAC,CAAC;YAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,wEAAwE;AACxE,gEAAgE;AAChE,SAAS,UAAU,CAAC,KAAkB,EAAE,GAAW;IACjD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,2DAA2D;AAC3D,SAAS,QAAQ,CAAC,IAAyB;IACzC,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5G,CAAC;AAED,SAAgB,YAAY,CAAC,KAAkB,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,QAAQ,GAAG,qBAAqB,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,cAAc,MAAM,EAAE;UACjK,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,uEAAuE;AACvE,iFAAiF;AACjF,sDAAsD;AACtD,SAAgB,iBAAiB,CAAC,KAAkB,EAAE,IAAY;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC/B,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,sCAAsC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+DAA+D;IAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACpG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IACD,8DAA8D;IAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC9H,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IACxD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,GAAG,wCAAwC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oFAAoF;IACpF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,oBAAoB,IAAI,CAAC,MAAM,QAAQ,GAAG,qBAAqB,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,EAAE,qBAAqB,MAAM,KAAK,GAAG,EAAE;UACtL,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IACnE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,kEAAkE;AAClE,SAAS,eAAe,CAAC,IAAgB;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,mCAAmC;IACjG,MAAM,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;SACjE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,uDAAuD;AACvD,SAAS,uBAAuB,CAAC,IAAgB;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,uBAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;KAC5C,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,SAAgB,eAAe,CAAC,YAA2B;IACzD,OAAO;QACL,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;QAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,uBAAuB,CAAC,CAAC,CAAC,EAAE;KAC7E,CAAC;AACJ,CAAC"} \ No newline at end of file +{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/ide/views/tabs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/src/parser/lang-c.js b/gen/src/parser/lang-c.js new file mode 100644 index 00000000..baf561d7 --- /dev/null +++ b/gen/src/parser/lang-c.js @@ -0,0 +1,64 @@ +"use strict"; +// C language support: @fazelstudio/codemirror-lang-c with fixed indent rules. +// The package's IfStatement rule calls a nonexistent context.matchCh() and +// throws, which leaves Enter with no indentation, and it doesn't indent case bodies. +// Inside braces, a new line matches the statement above it, so files keep +// their own indent width. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cLanguage = void 0; +exports.c = c; +const language_1 = require("@codemirror/language"); +const codemirror_lang_c_1 = require("@fazelstudio/codemirror-lang-c"); +const blockIndent = (0, language_1.delimitedIndent)({ closing: "}" }); +const caseLabel = /^\s*(case\b|default\b|\})/; +const skipSiblings = new Set(["{", "BlockComment", "LineComment", "PreprocDirective"]); +// Indentation of the nearest item above 'pos' in this braced node that starts +// its own line below the opening brace, or null if there is none. +function siblingIndent(context) { + const doc = context.state.doc; + const openLine = doc.lineAt(context.node.from).number; + for (let child = context.node.childBefore(context.pos); child; child = child.prevSibling) { + if (skipSiblings.has(child.name) || child.type.isError) + continue; + const line = doc.lineAt(child.from); + if (line.number <= openLine) + break; + if (/^\s*$/.test(line.text.slice(0, child.from - line.from))) + return context.lineIndent(child.from); + } + return null; +} +// Closing brace aligns with the opener; other lines match the item above. +function bracedIndent(context) { + if (!/^\s*\}/.test(context.textAfter)) { + const indent = siblingIndent(context); + if (indent != null) + return indent; + } + return blockIndent(context); +} +exports.cLanguage = codemirror_lang_c_1.cLanguage.configure({ + props: [ + language_1.indentNodeProp.add({ + IfStatement: (0, language_1.continuedIndent)({ except: /^\s*({|else\b)/ }), + // In a switch body, lines after "case x:" indent one unit past the label. + CompoundStatement: (context) => { + var _a; + if (((_a = context.node.parent) === null || _a === void 0 ? void 0 : _a.name) == "SwitchStatement" && !caseLabel.test(context.textAfter)) { + const last = context.node.childBefore(context.pos); + if ((last === null || last === void 0 ? void 0 : last.name) == "CaseStatement") + return context.lineIndent(last.from) + context.unit; + } + return bracedIndent(context); + }, + FieldDeclarationList: bracedIndent, + EnumeratorList: bracedIndent, + InitializerList: bracedIndent, + CaseStatement: (context) => context.baseIndent + (caseLabel.test(context.textAfter) ? 0 : context.unit), + }), + ], +}); +function c() { + return new language_1.LanguageSupport(exports.cLanguage); +} +//# sourceMappingURL=lang-c.js.map \ No newline at end of file diff --git a/gen/src/parser/lang-c.js.map b/gen/src/parser/lang-c.js.map new file mode 100644 index 00000000..24088b7c --- /dev/null +++ b/gen/src/parser/lang-c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lang-c.js","sourceRoot":"","sources":["../../../src/parser/lang-c.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/src/parser/registry.js b/gen/src/parser/registry.js index 6dde9a33..88d47d14 100644 --- a/gen/src/parser/registry.js +++ b/gen/src/parser/registry.js @@ -39,7 +39,7 @@ exports.parserRegistry = void 0; exports.getParserForStyle = getParserForStyle; exports.getLanguageSupportForStyle = getLanguageSupportForStyle; exports.getDefaultLanguageParser = getDefaultLanguageParser; -const lang_c = __importStar(require("@fazelstudio/codemirror-lang-c")); +const lang_c = __importStar(require("./lang-c")); const lang_6502_1 = require("./lang-6502"); const lang_z80_1 = require("./lang-z80"); const lang_wiz_1 = require("./lang-wiz"); diff --git a/gen/src/parser/registry.js.map b/gen/src/parser/registry.js.map index 12118186..8d0a3793 100644 --- a/gen/src/parser/registry.js.map +++ b/gen/src/parser/registry.js.map @@ -1 +1 @@ -{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/parser/registry.ts"],"names":[],"mappings":";AAAA,8FAA8F;AAC9F,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GjD,8CAGC;AAED,gEAGC;AAED,4DAEC;AArHD,uEAAyD;AACzD,2CAAsC;AACtC,yCAAoC;AACpC,yCAAkD;AAClD,iDAA8D;AAC9D,iDAA8D;AAC9D,+CAA2D;AAC3D,6CAAwD;AACxD,qDAAoE;AACpE,yDAA0E;AAC1E,6DAAqD;AA+BxC,QAAA,cAAc,GAAwC;IACjE,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,mBAAO,GAAE;QACnB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAA,iBAAM,GAAE;QAClB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAA,cAAG,GAAE;QACf,MAAM,EAAE,0BAAe;KACxB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,oBAAM,GAAE;QAClB,MAAM,EAAE,gCAAkB;KAC3B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,kBAAK,GAAE;QACjB,MAAM,EAAE,8BAAiB;KAC1B;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAA,0BAAS,GAAE;QACrB,MAAM,EAAE,sCAAqB;KAC9B;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,IAAA,8BAAW,GAAE;QACvB,MAAM,EAAE,0CAAuB;KAChC;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,wBAAQ,GAAE;QACpB,MAAM,EAAE,IAAI;KACb;IACD,+BAA+B;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAmB;;IACnD,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAgB,0BAA0B,CAAC,WAAmB;;IAC5D,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC;AACpB,CAAC"} \ No newline at end of file +{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/parser/registry.ts"],"names":[],"mappings":";AAAA,8FAA8F;AAC9F,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6GjD,8CAGC;AAED,gEAGC;AAED,4DAEC;AArHD,iDAAmC;AACnC,2CAAsC;AACtC,yCAAoC;AACpC,yCAAkD;AAClD,iDAA8D;AAC9D,iDAA8D;AAC9D,+CAA2D;AAC3D,6CAAwD;AACxD,qDAAoE;AACpE,yDAA0E;AAC1E,6DAAqD;AA+BxC,QAAA,cAAc,GAAwC;IACjE,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE;QACpB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,mBAAO,GAAE;QACnB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAA,iBAAM,GAAE;QAClB,MAAM,EAAE,IAAI,CAAC,0CAA0C;KACxD;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAA,cAAG,GAAE;QACf,MAAM,EAAE,0BAAe;KACxB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAA,sBAAO,GAAE;QACnB,MAAM,EAAE,kCAAmB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAA,oBAAM,GAAE;QAClB,MAAM,EAAE,gCAAkB;KAC3B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,IAAA,kBAAK,GAAE;QACjB,MAAM,EAAE,8BAAiB;KAC1B;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAA,0BAAS,GAAE;QACrB,MAAM,EAAE,sCAAqB;KAC9B;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,IAAA,8BAAW,GAAE;QACvB,MAAM,EAAE,0CAAuB;KAChC;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,wBAAQ,GAAE;QACpB,MAAM,EAAE,IAAI;KACb;IACD,+BAA+B;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,SAAgB,iBAAiB,CAAC,WAAmB;;IACnD,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,IAAI,CAAC;AAC/B,CAAC;AAED,SAAgB,0BAA0B,CAAC,WAAmB;;IAC5D,MAAM,KAAK,GAAG,sBAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC;AACpB,CAAC"} \ No newline at end of file diff --git a/gen/test/tsconfig.tsbuildinfo b/gen/test/tsconfig.tsbuildinfo index 8e1d73b8..4ab42f80 100644 --- a/gen/test/tsconfig.tsbuildinfo +++ b/gen/test/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"root":["../../test/unit/testanalysis.ts","../../test/unit/testassembler.ts","../../test/unit/testassetscan.ts","../../test/unit/testaudio.ts","../../test/unit/testbaseplatform.ts","../../test/unit/testbataribasic.ts","../../test/unit/testbreakpoints.ts","../../test/unit/testbuildparams.ts","../../test/unit/testc64breakpoints.ts","../../test/unit/testcc65dbg.ts","../../test/unit/testcommon.ts","../../test/unit/testcommon_ext.ts","../../test/unit/testdasm.ts","../../test/unit/testdetect.ts","../../test/unit/testecs.ts","../../test/unit/testelfparser.ts","../../test/unit/testemu.ts","../../test/unit/testgbdouble.ts","../../test/unit/testgbrtc.ts","../../test/unit/testkeys.ts","../../test/unit/testlibretro.ts","../../test/unit/testlinking.ts","../../test/unit/testlistingfiles.ts","../../test/unit/testlistinglocation.ts","../../test/unit/testmemmaplayout.ts","../../test/unit/testpixelclipboard.ts","../../test/unit/testpixelpalette.ts","../../test/unit/testpresets.ts","../../test/unit/testprojectcore.ts","../../test/unit/testprojectparity.ts","../../test/unit/testrunevalatpc.ts","../../test/unit/testsdccbanking.ts","../../test/unit/testsearchdebuggerhit.ts","../../test/unit/testsearchdocs.ts","../../test/unit/testsearchindex.ts","../../test/unit/testsearchsymbols.ts","../../test/unit/testsearchtoolchain.ts","../../test/unit/teststepover.ts","../../test/unit/teststorage.ts","../../test/unit/testtabs.ts","../../test/unit/testtoolmeta.ts","../../test/unit/testtoolselect.ts","../../test/unit/testutil.ts","../../test/unit/testwasishim.ts","../../test/unit/testworkingstore.ts","../../test/unit/testz80probe.ts","../../src/md.d.ts","../../src/common/analysis.ts","../../src/common/audio.ts","../../src/common/baseplatform.ts","../../src/common/binutils.ts","../../src/common/breakcond.ts","../../src/common/breakpoints.ts","../../src/common/controls.ts","../../src/common/detect.ts","../../src/common/devices.ts","../../src/common/emu.ts","../../src/common/emucore.ts","../../src/common/gbpalette.ts","../../src/common/mameplatform.ts","../../src/common/probe.ts","../../src/common/projectcore.ts","../../src/common/recorder.ts","../../src/common/searchtypes.ts","../../src/common/teletype.ts","../../src/common/tokenizer.ts","../../src/common/toolmeta.ts","../../src/common/toolselect.ts","../../src/common/util.ts","../../src/common/vlist.ts","../../src/common/vtextscroller.ts","../../src/common/wasmplatform.ts","../../src/common/waveform.ts","../../src/common/workertypes.ts","../../src/common/audio/CommodoreTape.ts","../../src/common/basic/compiler.ts","../../src/common/basic/fuzz.ts","../../src/common/basic/run.ts","../../src/common/basic/runtime.ts","../../src/common/cpu/6809.ts","../../src/common/cpu/ARM.ts","../../src/common/cpu/F8.ts","../../src/common/cpu/MOS6502.ts","../../src/common/cpu/SM83.ts","../../src/common/cpu/ZilogZ80.ts","../../src/common/cpu/disasm6502.ts","../../src/common/cpu/disasmF8.ts","../../src/common/cpu/disasmHuC6280.ts","../../src/common/cpu/disasmSM83.ts","../../src/common/cpu/disasmz80.ts","../../src/common/ecs/binpack.ts","../../src/common/ecs/compiler.ts","../../src/common/ecs/decoder.ts","../../src/common/ecs/ecs.ts","../../src/common/ecs/main.ts","../../src/common/hdl/fuzz.ts","../../src/common/hdl/hdlhost.ts","../../src/common/hdl/hdlruntime.ts","../../src/common/hdl/hdltypes.ts","../../src/common/hdl/hdlwasm.ts","../../src/common/hdl/vxmlparser.ts","../../src/common/hdl/vxmltest.ts","../../src/common/symbols/doccomment.ts","../../src/common/symbols/index.ts","../../src/common/symbols/symbolfile.ts","../../src/common/wasi/libretro.ts","../../src/common/wasi/wasishim.ts","../../src/ide/breakpoints.ts","../../src/ide/dialogs.ts","../../src/ide/embedui.ts","../../src/ide/errorreport.ts","../../src/ide/hdlhost.ts","../../src/ide/helptopics.ts","../../src/ide/keys.ts","../../src/ide/layout.ts","../../src/ide/pixeleditor.ts","../../src/ide/project.ts","../../src/ide/services.ts","../../src/ide/settings.ts","../../src/ide/shareexport.ts","../../src/ide/shortcutbar.ts","../../src/ide/storage.ts","../../src/ide/sync.ts","../../src/ide/toolbar.ts","../../src/ide/ui.ts","../../src/ide/waveform.ts","../../src/ide/windows.ts","../../src/ide/search/debuggerhit.ts","../../src/ide/search/docssource.ts","../../src/ide/search/listinglocation.ts","../../src/ide/search/projectsource.ts","../../src/ide/search/searchview.ts","../../src/ide/search/service.ts","../../src/ide/search/symbolindex.ts","../../src/ide/search/toolchainsource.ts","../../src/ide/search/types.ts","../../src/ide/views/assetdecorations.ts","../../src/ide/views/asseteditor.ts","../../src/ide/views/baseviews.ts","../../src/ide/views/debug.ts","../../src/ide/views/debugviews.ts","../../src/ide/views/editors.ts","../../src/ide/views/filters.ts","../../src/ide/views/gutter.ts","../../src/ide/views/helpview.ts","../../src/ide/views/includedecorations.ts","../../src/ide/views/memmaplayout.ts","../../src/ide/views/tabs.ts","../../src/ide/views/traceviews.ts","../../src/ide/views/treeviews.ts","../../src/ide/views/visuals.ts","../../src/machine/apple2.ts","../../src/machine/arm32.ts","../../src/machine/astrocade.ts","../../src/machine/atari7800.ts","../../src/machine/atari8.ts","../../src/machine/atari8disk.ts","../../src/machine/c64.ts","../../src/machine/channelf.ts","../../src/machine/coleco.ts","../../src/machine/cpc.ts","../../src/machine/devel.ts","../../src/machine/exidy.ts","../../src/machine/galaxian.ts","../../src/machine/gb.ts","../../src/machine/kim1.ts","../../src/machine/mcr.ts","../../src/machine/msx.ts","../../src/machine/mw8080bw.ts","../../src/machine/pacman.ts","../../src/machine/sms.ts","../../src/machine/vdp_z80.ts","../../src/machine/vic20.ts","../../src/machine/vicdual.ts","../../src/machine/williams.ts","../../src/machine/zx.ts","../../src/machine/chips/antic.ts","../../src/machine/chips/gtia.ts","../../src/machine/chips/pokey.ts","../../src/machine/chips/tms9918a.ts","../../src/parser/asmkeywords.ts","../../src/parser/lang-6502.ts","../../src/parser/lang-basic.ts","../../src/parser/lang-bataribasic.ts","../../src/parser/lang-dialog.ts","../../src/parser/lang-fastbasic.ts","../../src/parser/lang-inform6.ts","../../src/parser/lang-verilog.ts","../../src/parser/lang-wiz.ts","../../src/parser/lang-z80.ts","../../src/parser/registry.ts","../../src/parser/tokens-6502.ts","../../src/parser/tokens-6809.ts","../../src/parser/tokens-z80.ts","../../src/platform/_index.ts","../../src/platform/apple2.ts","../../src/platform/arm32.ts","../../src/platform/astrocade.ts","../../src/platform/atari7800.ts","../../src/platform/atari8.ts","../../src/platform/basic.ts","../../src/platform/c64.ts","../../src/platform/channelf.ts","../../src/platform/coleco.ts","../../src/platform/cpc.ts","../../src/platform/devel.ts","../../src/platform/exidy.ts","../../src/platform/galaxian.ts","../../src/platform/gb.ts","../../src/platform/kim1.ts","../../src/platform/mcr.ts","../../src/platform/msx.ts","../../src/platform/mw8080bw.ts","../../src/platform/nes.ts","../../src/platform/pacman.ts","../../src/platform/pce.ts","../../src/platform/sms.ts","../../src/platform/sound_konami.ts","../../src/platform/sound_williams.ts","../../src/platform/vcs.ts","../../src/platform/vector.ts","../../src/platform/vectrex.ts","../../src/platform/verilog.ts","../../src/platform/vic20.ts","../../src/platform/vicdual.ts","../../src/platform/williams.ts","../../src/platform/x86.ts","../../src/platform/zmachine.ts","../../src/platform/zx.ts","../../src/themes/cobalt.ts","../../src/themes/disassemblyTheme.ts","../../src/themes/editorTheme.ts","../../src/themes/mbo.ts","../../src/tools/8bws.ts","../../src/tools/buildpresets.ts","../../src/tools/cliformat.ts","../../src/tools/doctools.ts","../../src/tools/emutarget.ts","../../src/tools/nodemock.ts","../../src/tools/runscript.ts","../../src/tools/sim6502.ts","../../src/tools/termimage.ts","../../src/tools/testlib.ts","../../src/tools/toolversions.ts","../../src/worker/assembler.ts","../../src/worker/builder.ts","../../src/worker/listingutils.ts","../../src/worker/platforms.ts","../../src/worker/wasiutils.ts","../../src/worker/wasmutils.ts","../../src/worker/workerlib.ts","../../src/worker/workermain.ts","../../src/worker/workertools.ts","../../src/worker/server/buildenv.ts","../../src/worker/server/clang.ts","../../src/worker/server/server.ts","../../src/worker/tools/acme.ts","../../src/worker/tools/arm.ts","../../src/worker/tools/bataribasic.ts","../../src/worker/tools/cc2600.ts","../../src/worker/tools/cc65.ts","../../src/worker/tools/cc6502.ts","../../src/worker/tools/cc65dbg.ts","../../src/worker/tools/cc7800.ts","../../src/worker/tools/dasm.ts","../../src/worker/tools/dialog.ts","../../src/worker/tools/ecs.ts","../../src/worker/tools/m6502.ts","../../src/worker/tools/m6809.ts","../../src/worker/tools/mcpp.ts","../../src/worker/tools/misc.ts","../../src/worker/tools/oscar64.ts","../../src/worker/tools/oscar64parse.ts","../../src/worker/tools/remote.ts","../../src/worker/tools/sdcc.ts","../../src/worker/tools/verilog.ts","../../src/worker/tools/x86.ts","../../src/worker/tools/xa.ts","../../src/worker/tools/z80.ts"],"version":"5.9.3"} \ No newline at end of file +{"root":["../../test/unit/testanalysis.ts","../../test/unit/testassembler.ts","../../test/unit/testassetscan.ts","../../test/unit/testaudio.ts","../../test/unit/testbaseplatform.ts","../../test/unit/testbataribasic.ts","../../test/unit/testbreakpoints.ts","../../test/unit/testbuildparams.ts","../../test/unit/testc64breakpoints.ts","../../test/unit/testcc65dbg.ts","../../test/unit/testclang.ts","../../test/unit/testcommon.ts","../../test/unit/testcommon_ext.ts","../../test/unit/testdasm.ts","../../test/unit/testdetect.ts","../../test/unit/testecs.ts","../../test/unit/testelfparser.ts","../../test/unit/testemu.ts","../../test/unit/testgbdouble.ts","../../test/unit/testgbrtc.ts","../../test/unit/testkeys.ts","../../test/unit/testlibretro.ts","../../test/unit/testlinking.ts","../../test/unit/testlistingfiles.ts","../../test/unit/testlistinglocation.ts","../../test/unit/testmemmaplayout.ts","../../test/unit/testpixelclipboard.ts","../../test/unit/testpixelpalette.ts","../../test/unit/testpresets.ts","../../test/unit/testprojectcore.ts","../../test/unit/testprojectparity.ts","../../test/unit/testrunevalatpc.ts","../../test/unit/testsdccbanking.ts","../../test/unit/testsearchdebuggerhit.ts","../../test/unit/testsearchdocs.ts","../../test/unit/testsearchindex.ts","../../test/unit/testsearchsymbols.ts","../../test/unit/testsearchtoolchain.ts","../../test/unit/teststepover.ts","../../test/unit/teststorage.ts","../../test/unit/testtabs.ts","../../test/unit/testtoolmeta.ts","../../test/unit/testtoolselect.ts","../../test/unit/testutil.ts","../../test/unit/testwasishim.ts","../../test/unit/testworkingstore.ts","../../test/unit/testz80probe.ts","../../src/md.d.ts","../../src/common/analysis.ts","../../src/common/audio.ts","../../src/common/baseplatform.ts","../../src/common/binutils.ts","../../src/common/breakcond.ts","../../src/common/breakpoints.ts","../../src/common/controls.ts","../../src/common/detect.ts","../../src/common/devices.ts","../../src/common/emu.ts","../../src/common/emucore.ts","../../src/common/gbpalette.ts","../../src/common/mameplatform.ts","../../src/common/probe.ts","../../src/common/projectcore.ts","../../src/common/recorder.ts","../../src/common/searchtypes.ts","../../src/common/teletype.ts","../../src/common/tokenizer.ts","../../src/common/toolmeta.ts","../../src/common/toolselect.ts","../../src/common/util.ts","../../src/common/vlist.ts","../../src/common/vtextscroller.ts","../../src/common/wasmplatform.ts","../../src/common/waveform.ts","../../src/common/workertypes.ts","../../src/common/audio/CommodoreTape.ts","../../src/common/basic/compiler.ts","../../src/common/basic/fuzz.ts","../../src/common/basic/run.ts","../../src/common/basic/runtime.ts","../../src/common/cpu/6809.ts","../../src/common/cpu/ARM.ts","../../src/common/cpu/F8.ts","../../src/common/cpu/MOS6502.ts","../../src/common/cpu/SM83.ts","../../src/common/cpu/ZilogZ80.ts","../../src/common/cpu/disasm6502.ts","../../src/common/cpu/disasmF8.ts","../../src/common/cpu/disasmHuC6280.ts","../../src/common/cpu/disasmSM83.ts","../../src/common/cpu/disasmz80.ts","../../src/common/ecs/binpack.ts","../../src/common/ecs/compiler.ts","../../src/common/ecs/decoder.ts","../../src/common/ecs/ecs.ts","../../src/common/ecs/main.ts","../../src/common/hdl/fuzz.ts","../../src/common/hdl/hdlhost.ts","../../src/common/hdl/hdlruntime.ts","../../src/common/hdl/hdltypes.ts","../../src/common/hdl/hdlwasm.ts","../../src/common/hdl/vxmlparser.ts","../../src/common/hdl/vxmltest.ts","../../src/common/symbols/doccomment.ts","../../src/common/symbols/index.ts","../../src/common/symbols/symbolfile.ts","../../src/common/wasi/libretro.ts","../../src/common/wasi/wasishim.ts","../../src/ide/breakpoints.ts","../../src/ide/dialogs.ts","../../src/ide/embedui.ts","../../src/ide/errorreport.ts","../../src/ide/hdlhost.ts","../../src/ide/helptopics.ts","../../src/ide/keys.ts","../../src/ide/layout.ts","../../src/ide/pixeleditor.ts","../../src/ide/project.ts","../../src/ide/services.ts","../../src/ide/settings.ts","../../src/ide/shareexport.ts","../../src/ide/shortcutbar.ts","../../src/ide/storage.ts","../../src/ide/sync.ts","../../src/ide/toolbar.ts","../../src/ide/ui.ts","../../src/ide/waveform.ts","../../src/ide/windows.ts","../../src/ide/search/debuggerhit.ts","../../src/ide/search/docssource.ts","../../src/ide/search/listinglocation.ts","../../src/ide/search/projectsource.ts","../../src/ide/search/searchview.ts","../../src/ide/search/service.ts","../../src/ide/search/symbolindex.ts","../../src/ide/search/toolchainsource.ts","../../src/ide/search/types.ts","../../src/ide/views/assetdecorations.ts","../../src/ide/views/asseteditor.ts","../../src/ide/views/baseviews.ts","../../src/ide/views/debug.ts","../../src/ide/views/debugviews.ts","../../src/ide/views/editors.ts","../../src/ide/views/filters.ts","../../src/ide/views/gutter.ts","../../src/ide/views/helpview.ts","../../src/ide/views/includedecorations.ts","../../src/ide/views/memmaplayout.ts","../../src/ide/views/tabs.ts","../../src/ide/views/traceviews.ts","../../src/ide/views/treeviews.ts","../../src/ide/views/visuals.ts","../../src/machine/apple2.ts","../../src/machine/arm32.ts","../../src/machine/astrocade.ts","../../src/machine/atari7800.ts","../../src/machine/atari8.ts","../../src/machine/atari8disk.ts","../../src/machine/c64.ts","../../src/machine/channelf.ts","../../src/machine/coleco.ts","../../src/machine/cpc.ts","../../src/machine/devel.ts","../../src/machine/exidy.ts","../../src/machine/galaxian.ts","../../src/machine/gb.ts","../../src/machine/kim1.ts","../../src/machine/mcr.ts","../../src/machine/msx.ts","../../src/machine/mw8080bw.ts","../../src/machine/pacman.ts","../../src/machine/sms.ts","../../src/machine/vdp_z80.ts","../../src/machine/vic20.ts","../../src/machine/vicdual.ts","../../src/machine/williams.ts","../../src/machine/zx.ts","../../src/machine/chips/antic.ts","../../src/machine/chips/gtia.ts","../../src/machine/chips/pokey.ts","../../src/machine/chips/tms9918a.ts","../../src/parser/asmkeywords.ts","../../src/parser/lang-6502.ts","../../src/parser/lang-basic.ts","../../src/parser/lang-bataribasic.ts","../../src/parser/lang-c.ts","../../src/parser/lang-dialog.ts","../../src/parser/lang-fastbasic.ts","../../src/parser/lang-inform6.ts","../../src/parser/lang-verilog.ts","../../src/parser/lang-wiz.ts","../../src/parser/lang-z80.ts","../../src/parser/registry.ts","../../src/parser/tokens-6502.ts","../../src/parser/tokens-6809.ts","../../src/parser/tokens-z80.ts","../../src/platform/_index.ts","../../src/platform/apple2.ts","../../src/platform/arm32.ts","../../src/platform/astrocade.ts","../../src/platform/atari7800.ts","../../src/platform/atari8.ts","../../src/platform/basic.ts","../../src/platform/c64.ts","../../src/platform/channelf.ts","../../src/platform/coleco.ts","../../src/platform/cpc.ts","../../src/platform/devel.ts","../../src/platform/exidy.ts","../../src/platform/galaxian.ts","../../src/platform/gb.ts","../../src/platform/kim1.ts","../../src/platform/mcr.ts","../../src/platform/msx.ts","../../src/platform/mw8080bw.ts","../../src/platform/nes.ts","../../src/platform/pacman.ts","../../src/platform/pce.ts","../../src/platform/sms.ts","../../src/platform/sound_konami.ts","../../src/platform/sound_williams.ts","../../src/platform/vcs.ts","../../src/platform/vector.ts","../../src/platform/vectrex.ts","../../src/platform/verilog.ts","../../src/platform/vic20.ts","../../src/platform/vicdual.ts","../../src/platform/williams.ts","../../src/platform/x86.ts","../../src/platform/zmachine.ts","../../src/platform/zx.ts","../../src/themes/cobalt.ts","../../src/themes/disassemblyTheme.ts","../../src/themes/editorTheme.ts","../../src/themes/mbo.ts","../../src/tools/8bws.ts","../../src/tools/buildpresets.ts","../../src/tools/cliformat.ts","../../src/tools/doctools.ts","../../src/tools/emutarget.ts","../../src/tools/nodemock.ts","../../src/tools/runscript.ts","../../src/tools/sim6502.ts","../../src/tools/termimage.ts","../../src/tools/testlib.ts","../../src/tools/toolversions.ts","../../src/worker/assembler.ts","../../src/worker/builder.ts","../../src/worker/listingutils.ts","../../src/worker/platforms.ts","../../src/worker/wasiutils.ts","../../src/worker/wasmutils.ts","../../src/worker/workerlib.ts","../../src/worker/workermain.ts","../../src/worker/workertools.ts","../../src/worker/server/buildenv.ts","../../src/worker/server/clang.ts","../../src/worker/server/server.ts","../../src/worker/tools/acme.ts","../../src/worker/tools/arm.ts","../../src/worker/tools/bataribasic.ts","../../src/worker/tools/cc2600.ts","../../src/worker/tools/cc65.ts","../../src/worker/tools/cc6502.ts","../../src/worker/tools/cc65dbg.ts","../../src/worker/tools/cc7800.ts","../../src/worker/tools/dasm.ts","../../src/worker/tools/dialog.ts","../../src/worker/tools/ecs.ts","../../src/worker/tools/m6502.ts","../../src/worker/tools/m6809.ts","../../src/worker/tools/mcpp.ts","../../src/worker/tools/misc.ts","../../src/worker/tools/oscar64.ts","../../src/worker/tools/oscar64parse.ts","../../src/worker/tools/remote.ts","../../src/worker/tools/sdcc.ts","../../src/worker/tools/verilog.ts","../../src/worker/tools/x86.ts","../../src/worker/tools/xa.ts","../../src/worker/tools/z80.ts"],"version":"5.9.3"} \ No newline at end of file diff --git a/gen/test/unit/testclang.js b/gen/test/unit/testclang.js new file mode 100644 index 00000000..71489d8a --- /dev/null +++ b/gen/test/unit/testclang.js @@ -0,0 +1,69 @@ +"use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const assert_1 = __importDefault(require("assert")); +const mocha_1 = require("mocha"); +const language_1 = require("@codemirror/language"); +const state_1 = require("@codemirror/state"); +const lang_c_1 = require("../../src/parser/lang-c"); +// Indentation CodeMirror computes for the line at '|' (end of doc if absent). +// Text after '|' is what reindent-on-input sees on that line. +function indentAfter(textWithCursor, unit = " ") { + const pos = textWithCursor.includes('|') ? textWithCursor.indexOf('|') : textWithCursor.length; + const doc = textWithCursor.replace('|', ''); + const state = state_1.EditorState.create({ doc, extensions: [(0, lang_c_1.c)(), language_1.indentUnit.of(unit)] }); + (0, language_1.ensureSyntaxTree)(state, state.doc.length, 5000); + return (0, language_1.getIndentation)(state, pos); +} +(0, mocha_1.describe)('C smart indent', () => { + it('should indent blocks', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n"), 2); + assert_1.default.strictEqual(indentAfter("void main() {\n while (1) {\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n while (1) {\n", " "), 8); + assert_1.default.strictEqual(indentAfter("struct foo {\n"), 2); + assert_1.default.strictEqual(indentAfter("int a[] = {\n"), 2); + }); + it('should indent an unbraced if body', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n if (x)\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n if (x) {\n"), 4); + }); + it('should not indent else', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n if (x)\n a();\n |else"), 2); + assert_1.default.strictEqual(indentAfter("void main() {\n if (x) {\n a();\n }\n |else"), 2); + }); + it('should dedent after a finished if', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n if (x) {\n a();\n }\n"), 2); + assert_1.default.strictEqual(indentAfter("void main() {\n if (x)\n a();\n"), 2); + }); + it('should indent case bodies', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n"), 6); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n a();\n"), 6); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n a();\n |case"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n a();\n |default"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n a();\n |}"), 2); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n default:\n"), 6); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n if (y)\n"), 8); + }); + it('should match the indentation of the statement above', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n int x;\n x = 1;\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n int x;\n if (x)\n a();\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n foo(1,\n 2);\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n x = 1;\n|}"), 0); + assert_1.default.strictEqual(indentAfter("struct foo {\n int a;\n"), 4); + assert_1.default.strictEqual(indentAfter("enum foo {\n A,\n"), 4); + assert_1.default.strictEqual(indentAfter("int a[] = {\n 1, 2,\n"), 4); + }); + it('should ignore comments and preprocessor lines above', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n x = 1;\n// old\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n x = 1;\n#ifdef FOO\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n#ifdef FOO\n"), 2); + }); + it('should indent mid-file', () => { + assert_1.default.strictEqual(indentAfter("void main() {\n if (x)\n|\n b();\n}\n"), 4); + assert_1.default.strictEqual(indentAfter("void main() {\n switch (x) {\n case 1:\n|\n }\n}\n"), 6); + }); +}); +//# sourceMappingURL=testclang.js.map \ No newline at end of file diff --git a/gen/test/unit/testclang.js.map b/gen/test/unit/testclang.js.map new file mode 100644 index 00000000..0390553f --- /dev/null +++ b/gen/test/unit/testclang.js.map @@ -0,0 +1 @@ +{"version":3,"file":"testclang.js","sourceRoot":"","sources":["../../../test/unit/testclang.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/gen/test/unit/testtabs.js b/gen/test/unit/testtabs.js index ab70cdf6..077083ed 100644 --- a/gen/test/unit/testtabs.js +++ b/gen/test/unit/testtabs.js @@ -59,4 +59,18 @@ function tabAt(textWithCursor, tabSize, unit) { assert_1.default.strictEqual(has('x1 = 5'), false); }); }); +(0, mocha_1.describe)('detectIndentUnit', () => { + it('should detect the most common indent step', () => { + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)('void main() {\n int x;\n if (x) {\n x++;\n }\n}\n'), ' '); + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)('void main() {\n int x;\n if (x) {\n x++;\n }\n}\n'), ' '); + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)('void main() {\n\tint x;\n\tif (x) {\n\t\tx++;\n\t}\n}\n'), '\t'); + }); + it('should ignore block comment continuations and alignment outliers', () => { + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)('/*\n * doc\n */\nvoid f() {\n a();\n b(1,\n 2);\n if (x)\n c();\n}\n'), ' '); + }); + it('should default to two spaces', () => { + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)(''), ' '); + assert_1.default.strictEqual((0, tabs_1.detectIndentUnit)('int x;\nint y;\n'), ' '); + }); +}); //# sourceMappingURL=testtabs.js.map \ No newline at end of file diff --git a/gen/test/unit/testtabs.js.map b/gen/test/unit/testtabs.js.map index 4db2e01f..179a40b5 100644 --- a/gen/test/unit/testtabs.js.map +++ b/gen/test/unit/testtabs.js.map @@ -1 +1 @@ -{"version":3,"file":"testtabs.js","sourceRoot":"","sources":["../../../test/unit/testtabs.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"testtabs.js","sourceRoot":"","sources":["../../../test/unit/testtabs.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,iCAAiC;AACjC,mDAAkD;AAClD,6CAAgD;AAChD,mDAA6F;AAE7F,4FAA4F;AAC5F,SAAS,KAAK,CAAC,cAAsB,EAAE,OAAe,EAAE,IAAY;IAChE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,mBAAW,CAAC,MAAM,CAAC;QAC7B,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACpC,UAAU,EAAE,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,qBAAU,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACjF,CAAC,CAAC;IACH,OAAO,IAAA,sBAAe,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,IAAA,gBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjD,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;IACjE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU;QAClE,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAChE,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QAC/D,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc;QAChE,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc;IACrE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxD,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa;IAC1E,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,gBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,qBAAc,EAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzE,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QACzC,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnE,gBAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAA,gBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,yDAAyD,CAAC,EAAE,IAAI,CAAC,CAAC;QACtG,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,mEAAmE,CAAC,EAAE,MAAM,CAAC,CAAC;QAClH,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,yDAAyD,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QACxE,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,mGAAmG,CAAC,EAAE,MAAM,CAAC,CAAC;IACtJ,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACpC,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,gBAAM,CAAC,WAAW,CAAC,IAAA,uBAAgB,EAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/gen/tsconfig.tsbuildinfo b/gen/tsconfig.tsbuildinfo index 57cc0af9..165723c5 100644 --- a/gen/tsconfig.tsbuildinfo +++ b/gen/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"root":["../src/md.d.ts","../src/common/analysis.ts","../src/common/audio.ts","../src/common/baseplatform.ts","../src/common/binutils.ts","../src/common/breakcond.ts","../src/common/breakpoints.ts","../src/common/controls.ts","../src/common/detect.ts","../src/common/devices.ts","../src/common/emu.ts","../src/common/emucore.ts","../src/common/gbpalette.ts","../src/common/mameplatform.ts","../src/common/probe.ts","../src/common/projectcore.ts","../src/common/recorder.ts","../src/common/searchtypes.ts","../src/common/teletype.ts","../src/common/tokenizer.ts","../src/common/toolmeta.ts","../src/common/toolselect.ts","../src/common/util.ts","../src/common/vlist.ts","../src/common/vtextscroller.ts","../src/common/wasmplatform.ts","../src/common/waveform.ts","../src/common/workertypes.ts","../src/common/audio/CommodoreTape.ts","../src/common/basic/compiler.ts","../src/common/basic/fuzz.ts","../src/common/basic/run.ts","../src/common/basic/runtime.ts","../src/common/cpu/6809.ts","../src/common/cpu/ARM.ts","../src/common/cpu/F8.ts","../src/common/cpu/MOS6502.ts","../src/common/cpu/SM83.ts","../src/common/cpu/ZilogZ80.ts","../src/common/cpu/disasm6502.ts","../src/common/cpu/disasmF8.ts","../src/common/cpu/disasmHuC6280.ts","../src/common/cpu/disasmSM83.ts","../src/common/cpu/disasmz80.ts","../src/common/ecs/binpack.ts","../src/common/ecs/compiler.ts","../src/common/ecs/decoder.ts","../src/common/ecs/ecs.ts","../src/common/ecs/main.ts","../src/common/hdl/fuzz.ts","../src/common/hdl/hdlhost.ts","../src/common/hdl/hdlruntime.ts","../src/common/hdl/hdltypes.ts","../src/common/hdl/hdlwasm.ts","../src/common/hdl/vxmlparser.ts","../src/common/hdl/vxmltest.ts","../src/common/symbols/doccomment.ts","../src/common/symbols/index.ts","../src/common/symbols/symbolfile.ts","../src/common/wasi/libretro.ts","../src/common/wasi/wasishim.ts","../src/ide/breakpoints.ts","../src/ide/dialogs.ts","../src/ide/embedui.ts","../src/ide/errorreport.ts","../src/ide/hdlhost.ts","../src/ide/helptopics.ts","../src/ide/keys.ts","../src/ide/layout.ts","../src/ide/pixeleditor.ts","../src/ide/project.ts","../src/ide/services.ts","../src/ide/settings.ts","../src/ide/shareexport.ts","../src/ide/shortcutbar.ts","../src/ide/storage.ts","../src/ide/sync.ts","../src/ide/toolbar.ts","../src/ide/ui.ts","../src/ide/waveform.ts","../src/ide/windows.ts","../src/ide/search/debuggerhit.ts","../src/ide/search/docssource.ts","../src/ide/search/listinglocation.ts","../src/ide/search/projectsource.ts","../src/ide/search/searchview.ts","../src/ide/search/service.ts","../src/ide/search/symbolindex.ts","../src/ide/search/toolchainsource.ts","../src/ide/search/types.ts","../src/ide/views/assetdecorations.ts","../src/ide/views/asseteditor.ts","../src/ide/views/baseviews.ts","../src/ide/views/debug.ts","../src/ide/views/debugviews.ts","../src/ide/views/editors.ts","../src/ide/views/filters.ts","../src/ide/views/gutter.ts","../src/ide/views/helpview.ts","../src/ide/views/includedecorations.ts","../src/ide/views/memmaplayout.ts","../src/ide/views/tabs.ts","../src/ide/views/traceviews.ts","../src/ide/views/treeviews.ts","../src/ide/views/visuals.ts","../src/machine/apple2.ts","../src/machine/arm32.ts","../src/machine/astrocade.ts","../src/machine/atari7800.ts","../src/machine/atari8.ts","../src/machine/atari8disk.ts","../src/machine/c64.ts","../src/machine/channelf.ts","../src/machine/coleco.ts","../src/machine/cpc.ts","../src/machine/devel.ts","../src/machine/exidy.ts","../src/machine/galaxian.ts","../src/machine/gb.ts","../src/machine/kim1.ts","../src/machine/mcr.ts","../src/machine/msx.ts","../src/machine/mw8080bw.ts","../src/machine/pacman.ts","../src/machine/sms.ts","../src/machine/vdp_z80.ts","../src/machine/vic20.ts","../src/machine/vicdual.ts","../src/machine/williams.ts","../src/machine/zx.ts","../src/machine/chips/antic.ts","../src/machine/chips/gtia.ts","../src/machine/chips/pokey.ts","../src/machine/chips/tms9918a.ts","../src/parser/asmkeywords.ts","../src/parser/lang-6502.ts","../src/parser/lang-basic.ts","../src/parser/lang-bataribasic.ts","../src/parser/lang-dialog.ts","../src/parser/lang-fastbasic.ts","../src/parser/lang-inform6.ts","../src/parser/lang-verilog.ts","../src/parser/lang-wiz.ts","../src/parser/lang-z80.ts","../src/parser/registry.ts","../src/parser/tokens-6502.ts","../src/parser/tokens-6809.ts","../src/parser/tokens-z80.ts","../src/platform/_index.ts","../src/platform/apple2.ts","../src/platform/arm32.ts","../src/platform/astrocade.ts","../src/platform/atari7800.ts","../src/platform/atari8.ts","../src/platform/basic.ts","../src/platform/c64.ts","../src/platform/channelf.ts","../src/platform/coleco.ts","../src/platform/cpc.ts","../src/platform/devel.ts","../src/platform/exidy.ts","../src/platform/galaxian.ts","../src/platform/gb.ts","../src/platform/kim1.ts","../src/platform/mcr.ts","../src/platform/msx.ts","../src/platform/mw8080bw.ts","../src/platform/nes.ts","../src/platform/pacman.ts","../src/platform/pce.ts","../src/platform/sms.ts","../src/platform/sound_konami.ts","../src/platform/sound_williams.ts","../src/platform/vcs.ts","../src/platform/vector.ts","../src/platform/vectrex.ts","../src/platform/verilog.ts","../src/platform/vic20.ts","../src/platform/vicdual.ts","../src/platform/williams.ts","../src/platform/x86.ts","../src/platform/zmachine.ts","../src/platform/zx.ts","../src/themes/cobalt.ts","../src/themes/disassemblyTheme.ts","../src/themes/editorTheme.ts","../src/themes/mbo.ts","../src/tools/8bws.ts","../src/tools/buildpresets.ts","../src/tools/cliformat.ts","../src/tools/doctools.ts","../src/tools/emutarget.ts","../src/tools/nodemock.ts","../src/tools/runscript.ts","../src/tools/sim6502.ts","../src/tools/termimage.ts","../src/tools/testlib.ts","../src/tools/toolversions.ts","../src/worker/assembler.ts","../src/worker/builder.ts","../src/worker/listingutils.ts","../src/worker/platforms.ts","../src/worker/wasiutils.ts","../src/worker/wasmutils.ts","../src/worker/workerlib.ts","../src/worker/workermain.ts","../src/worker/workertools.ts","../src/worker/server/buildenv.ts","../src/worker/server/clang.ts","../src/worker/server/server.ts","../src/worker/tools/acme.ts","../src/worker/tools/arm.ts","../src/worker/tools/bataribasic.ts","../src/worker/tools/cc2600.ts","../src/worker/tools/cc65.ts","../src/worker/tools/cc6502.ts","../src/worker/tools/cc65dbg.ts","../src/worker/tools/cc7800.ts","../src/worker/tools/dasm.ts","../src/worker/tools/dialog.ts","../src/worker/tools/ecs.ts","../src/worker/tools/m6502.ts","../src/worker/tools/m6809.ts","../src/worker/tools/mcpp.ts","../src/worker/tools/misc.ts","../src/worker/tools/oscar64.ts","../src/worker/tools/oscar64parse.ts","../src/worker/tools/remote.ts","../src/worker/tools/sdcc.ts","../src/worker/tools/verilog.ts","../src/worker/tools/x86.ts","../src/worker/tools/xa.ts","../src/worker/tools/z80.ts"],"version":"5.9.3"} \ No newline at end of file +{"root":["../src/md.d.ts","../src/common/analysis.ts","../src/common/audio.ts","../src/common/baseplatform.ts","../src/common/binutils.ts","../src/common/breakcond.ts","../src/common/breakpoints.ts","../src/common/controls.ts","../src/common/detect.ts","../src/common/devices.ts","../src/common/emu.ts","../src/common/emucore.ts","../src/common/gbpalette.ts","../src/common/mameplatform.ts","../src/common/probe.ts","../src/common/projectcore.ts","../src/common/recorder.ts","../src/common/searchtypes.ts","../src/common/teletype.ts","../src/common/tokenizer.ts","../src/common/toolmeta.ts","../src/common/toolselect.ts","../src/common/util.ts","../src/common/vlist.ts","../src/common/vtextscroller.ts","../src/common/wasmplatform.ts","../src/common/waveform.ts","../src/common/workertypes.ts","../src/common/audio/CommodoreTape.ts","../src/common/basic/compiler.ts","../src/common/basic/fuzz.ts","../src/common/basic/run.ts","../src/common/basic/runtime.ts","../src/common/cpu/6809.ts","../src/common/cpu/ARM.ts","../src/common/cpu/F8.ts","../src/common/cpu/MOS6502.ts","../src/common/cpu/SM83.ts","../src/common/cpu/ZilogZ80.ts","../src/common/cpu/disasm6502.ts","../src/common/cpu/disasmF8.ts","../src/common/cpu/disasmHuC6280.ts","../src/common/cpu/disasmSM83.ts","../src/common/cpu/disasmz80.ts","../src/common/ecs/binpack.ts","../src/common/ecs/compiler.ts","../src/common/ecs/decoder.ts","../src/common/ecs/ecs.ts","../src/common/ecs/main.ts","../src/common/hdl/fuzz.ts","../src/common/hdl/hdlhost.ts","../src/common/hdl/hdlruntime.ts","../src/common/hdl/hdltypes.ts","../src/common/hdl/hdlwasm.ts","../src/common/hdl/vxmlparser.ts","../src/common/hdl/vxmltest.ts","../src/common/symbols/doccomment.ts","../src/common/symbols/index.ts","../src/common/symbols/symbolfile.ts","../src/common/wasi/libretro.ts","../src/common/wasi/wasishim.ts","../src/ide/breakpoints.ts","../src/ide/dialogs.ts","../src/ide/embedui.ts","../src/ide/errorreport.ts","../src/ide/hdlhost.ts","../src/ide/helptopics.ts","../src/ide/keys.ts","../src/ide/layout.ts","../src/ide/pixeleditor.ts","../src/ide/project.ts","../src/ide/services.ts","../src/ide/settings.ts","../src/ide/shareexport.ts","../src/ide/shortcutbar.ts","../src/ide/storage.ts","../src/ide/sync.ts","../src/ide/toolbar.ts","../src/ide/ui.ts","../src/ide/waveform.ts","../src/ide/windows.ts","../src/ide/search/debuggerhit.ts","../src/ide/search/docssource.ts","../src/ide/search/listinglocation.ts","../src/ide/search/projectsource.ts","../src/ide/search/searchview.ts","../src/ide/search/service.ts","../src/ide/search/symbolindex.ts","../src/ide/search/toolchainsource.ts","../src/ide/search/types.ts","../src/ide/views/assetdecorations.ts","../src/ide/views/asseteditor.ts","../src/ide/views/baseviews.ts","../src/ide/views/debug.ts","../src/ide/views/debugviews.ts","../src/ide/views/editors.ts","../src/ide/views/filters.ts","../src/ide/views/gutter.ts","../src/ide/views/helpview.ts","../src/ide/views/includedecorations.ts","../src/ide/views/memmaplayout.ts","../src/ide/views/tabs.ts","../src/ide/views/traceviews.ts","../src/ide/views/treeviews.ts","../src/ide/views/visuals.ts","../src/machine/apple2.ts","../src/machine/arm32.ts","../src/machine/astrocade.ts","../src/machine/atari7800.ts","../src/machine/atari8.ts","../src/machine/atari8disk.ts","../src/machine/c64.ts","../src/machine/channelf.ts","../src/machine/coleco.ts","../src/machine/cpc.ts","../src/machine/devel.ts","../src/machine/exidy.ts","../src/machine/galaxian.ts","../src/machine/gb.ts","../src/machine/kim1.ts","../src/machine/mcr.ts","../src/machine/msx.ts","../src/machine/mw8080bw.ts","../src/machine/pacman.ts","../src/machine/sms.ts","../src/machine/vdp_z80.ts","../src/machine/vic20.ts","../src/machine/vicdual.ts","../src/machine/williams.ts","../src/machine/zx.ts","../src/machine/chips/antic.ts","../src/machine/chips/gtia.ts","../src/machine/chips/pokey.ts","../src/machine/chips/tms9918a.ts","../src/parser/asmkeywords.ts","../src/parser/lang-6502.ts","../src/parser/lang-basic.ts","../src/parser/lang-bataribasic.ts","../src/parser/lang-c.ts","../src/parser/lang-dialog.ts","../src/parser/lang-fastbasic.ts","../src/parser/lang-inform6.ts","../src/parser/lang-verilog.ts","../src/parser/lang-wiz.ts","../src/parser/lang-z80.ts","../src/parser/registry.ts","../src/parser/tokens-6502.ts","../src/parser/tokens-6809.ts","../src/parser/tokens-z80.ts","../src/platform/_index.ts","../src/platform/apple2.ts","../src/platform/arm32.ts","../src/platform/astrocade.ts","../src/platform/atari7800.ts","../src/platform/atari8.ts","../src/platform/basic.ts","../src/platform/c64.ts","../src/platform/channelf.ts","../src/platform/coleco.ts","../src/platform/cpc.ts","../src/platform/devel.ts","../src/platform/exidy.ts","../src/platform/galaxian.ts","../src/platform/gb.ts","../src/platform/kim1.ts","../src/platform/mcr.ts","../src/platform/msx.ts","../src/platform/mw8080bw.ts","../src/platform/nes.ts","../src/platform/pacman.ts","../src/platform/pce.ts","../src/platform/sms.ts","../src/platform/sound_konami.ts","../src/platform/sound_williams.ts","../src/platform/vcs.ts","../src/platform/vector.ts","../src/platform/vectrex.ts","../src/platform/verilog.ts","../src/platform/vic20.ts","../src/platform/vicdual.ts","../src/platform/williams.ts","../src/platform/x86.ts","../src/platform/zmachine.ts","../src/platform/zx.ts","../src/themes/cobalt.ts","../src/themes/disassemblyTheme.ts","../src/themes/editorTheme.ts","../src/themes/mbo.ts","../src/tools/8bws.ts","../src/tools/buildpresets.ts","../src/tools/cliformat.ts","../src/tools/doctools.ts","../src/tools/emutarget.ts","../src/tools/nodemock.ts","../src/tools/runscript.ts","../src/tools/sim6502.ts","../src/tools/termimage.ts","../src/tools/testlib.ts","../src/tools/toolversions.ts","../src/worker/assembler.ts","../src/worker/builder.ts","../src/worker/listingutils.ts","../src/worker/platforms.ts","../src/worker/wasiutils.ts","../src/worker/wasmutils.ts","../src/worker/workerlib.ts","../src/worker/workermain.ts","../src/worker/workertools.ts","../src/worker/server/buildenv.ts","../src/worker/server/clang.ts","../src/worker/server/server.ts","../src/worker/tools/acme.ts","../src/worker/tools/arm.ts","../src/worker/tools/bataribasic.ts","../src/worker/tools/cc2600.ts","../src/worker/tools/cc65.ts","../src/worker/tools/cc6502.ts","../src/worker/tools/cc65dbg.ts","../src/worker/tools/cc7800.ts","../src/worker/tools/dasm.ts","../src/worker/tools/dialog.ts","../src/worker/tools/ecs.ts","../src/worker/tools/m6502.ts","../src/worker/tools/m6809.ts","../src/worker/tools/mcpp.ts","../src/worker/tools/misc.ts","../src/worker/tools/oscar64.ts","../src/worker/tools/oscar64parse.ts","../src/worker/tools/remote.ts","../src/worker/tools/sdcc.ts","../src/worker/tools/verilog.ts","../src/worker/tools/x86.ts","../src/worker/tools/xa.ts","../src/worker/tools/z80.ts"],"version":"5.9.3"} \ No newline at end of file diff --git a/gen/ui.js b/gen/ui.js index 52fc4d35..2fe531d4 100644 --- a/gen/ui.js +++ b/gen/ui.js @@ -1,29 +1,30 @@ -import{a as c0}from"./chunk-NTFEI2OH.js";import{a as d0}from"./chunk-T6VURU5O.js";import{a as Sc}from"./chunk-A7SWO6EA.js";import{a as h0,b as u0,c as t_}from"./chunk-EY5LTL52.js";import{C as rf,H as nf,t as a0,u as l0}from"./chunk-4WX2XTAI.js";import"./chunk-UACHXWHT.js";import{A as an,E as ln,F as Ju,G as xo,I as wo,J as bc,K as ef,T as tf,U as s0,X as o0,a as Gn,b as Ra,d as St,da as yc,e as Ma,f as zt,g as Ce,h as Hu,i as t0,k as r0,m as mc,n as Oc,o as gc,p as Cs,q as n0,t as vo,w as i0,x as Ku,y as La,z as ir}from"./chunk-EK7ZCXAS.js";import{a as gt,b as As,c as Ea,d as qu,e as Gu}from"./chunk-VSC4MAII.js";var of=qu((f0,sf)=>{(function(r){if(typeof f0=="object"&&typeof sf!="undefined")sf.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function n(i,s,o){function a(d,h){if(!s[d]){if(!i[d]){var u=typeof Ea=="function"&&Ea;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var m=s[d]={exports:{}};i[d][0].call(m.exports,function(g){var v=i[d][1][g];return a(v||g)},m,m.exports,n,i,s,o)}return s[d].exports}for(var l=typeof Ea=="function"&&Ea,c=0;c=43)}}).catch(function(){return!1})}function j(y){return typeof L=="boolean"?u.resolve(L):X(y).then(function(Q){return L=Q,L})}function G(y){var Q=M[y.name],S={};S.promise=new u(function(A,E){S.resolve=A,S.reject=E}),Q.deferredOperations.push(S),Q.dbReady?Q.dbReady=Q.dbReady.then(function(){return S.promise}):Q.dbReady=S.promise}function ie(y){var Q=M[y.name],S=Q.deferredOperations.pop();if(S)return S.resolve(),S.promise}function U(y,Q){var S=M[y.name],A=S.deferredOperations.pop();if(A)return A.reject(Q),A.promise}function ge(y,Q){return new u(function(S,A){if(M[y.name]=M[y.name]||pt(),y.db)if(Q)G(y),y.db.close();else return S(y.db);var E=[y.name];Q&&E.push(y.version);var _=c.open.apply(c,E);Q&&(_.onupgradeneeded=function(z){var W=_.result;try{W.createObjectStore(y.storeName),z.oldVersion<=1&&W.createObjectStore(k)}catch(K){if(K.name==="ConstraintError")console.warn('The database "'+y.name+'" has been upgraded from version '+z.oldVersion+" to version "+z.newVersion+', but the storage "'+y.storeName+'" already exists.');else throw K}}),_.onerror=function(z){z.preventDefault(),A(_.error)},_.onsuccess=function(){var z=_.result;z.onversionchange=function(W){W.target.close()},S(z),ie(y)}})}function pe(y){return ge(y,!1)}function ke(y){return ge(y,!0)}function B(y,Q){if(!y.db)return!0;var S=!y.db.objectStoreNames.contains(y.storeName),A=y.versiony.db.version;if(A&&(y.version!==Q&&console.warn('The database "'+y.name+`" can't be downgraded from version `+y.db.version+" to version "+y.version+"."),y.version=y.db.version),E||S){if(S){var _=y.db.version+1;_>y.version&&(y.version=_)}return!0}return!1}function he(y){return new u(function(Q,S){var A=new FileReader;A.onerror=S,A.onloadend=function(E){var _=btoa(E.target.result||"");Q({__local_forage_encoded_blob:!0,data:_,type:y.type})},A.readAsBinaryString(y)})}function J(y){var Q=R(atob(y.data));return h([Q],{type:y.type})}function ve(y){return y&&y.__local_forage_encoded_blob}function $e(y){var Q=this,S=Q._initReady().then(function(){var A=M[Q._dbInfo.name];if(A&&A.dbReady)return A.dbReady});return m(S,y,y),S}function Ue(y){G(y);for(var Q=M[y.name],S=Q.forages,A=0;A0&&(!y.db||_.name==="InvalidStateError"||_.name==="NotFoundError"))return u.resolve().then(function(){if(!y.db||_.name==="NotFoundError"&&!y.db.objectStoreNames.contains(y.storeName)&&y.version<=y.db.version)return y.db&&(y.version=y.db.version+1),ke(y)}).then(function(){return Ue(y).then(function(){tt(y,Q,S,A-1)})}).catch(S);S(_)}}function pt(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Zt(y){var Q=this,S={db:null};if(y)for(var A in y)S[A]=y[A];var E=M[S.name];E||(E=pt(),M[S.name]=E),E.forages.push(Q),Q._initReady||(Q._initReady=Q.ready,Q.ready=$e);var _=[];function z(){return u.resolve()}for(var W=0;W>4,re[E++]=(z&15)<<4|W>>2,re[E++]=(W&3)<<6|K&63;return q}function vt(y){var Q=new Uint8Array(y),S="",A;for(A=0;A>2],S+=Et[(Q[A]&3)<<4|Q[A+1]>>4],S+=Et[(Q[A+1]&15)<<2|Q[A+2]>>6],S+=Et[Q[A+2]&63];return Q.length%3===2?S=S.substring(0,S.length-1)+"=":Q.length%3===1&&(S=S.substring(0,S.length-2)+"=="),S}function tr(y,Q){var S="";if(y&&(S=Fe.call(y)),y&&(S==="[object ArrayBuffer]"||y.buffer&&Fe.call(y.buffer)==="[object ArrayBuffer]")){var A,E=He;y instanceof ArrayBuffer?(A=y,E+=sn):(A=y.buffer,S==="[object Int8Array]"?E+=Nn:S==="[object Uint8Array]"?E+=Xt:S==="[object Uint8ClampedArray]"?E+=kn:S==="[object Int16Array]"?E+=jn:S==="[object Uint16Array]"?E+=se:S==="[object Int32Array]"?E+=yt:S==="[object Uint32Array]"?E+=Y:S==="[object Float32Array]"?E+=ne:S==="[object Float64Array]"?E+=me:Q(new Error("Failed to get type for BinaryArray"))),Q(E+vt(A))}else if(S==="[object Blob]"){var _=new FileReader;_.onload=function(){var z=we+y.type+"~"+vt(this.result);Q(He+mt+z)},_.readAsArrayBuffer(y)}else try{Q(JSON.stringify(y))}catch(z){console.error("Couldn't convert value into a JSON string: ",y),Q(null,z)}}function on(y){if(y.substring(0,Nt)!==He)return JSON.parse(y);var Q=y.substring(qe),S=y.substring(Nt,qe),A;if(S===mt&&nn.test(Q)){var E=Q.match(nn);A=E[1],Q=Q.substring(E[0].length)}var _=Ge(Q);switch(S){case sn:return _;case mt:return h([_],{type:A});case Nn:return new Int8Array(_);case Xt:return new Uint8Array(_);case kn:return new Uint8ClampedArray(_);case jn:return new Int16Array(_);case se:return new Uint16Array(_);case yt:return new Int32Array(_);case Y:return new Uint32Array(_);case ne:return new Float32Array(_);case me:return new Float64Array(_);default:throw new Error("Unkown type: "+S)}}var ui={serialize:tr,deserialize:on,stringToBuffer:Ge,bufferToString:vt};function zi(y,Q,S,A){y.executeSql("CREATE TABLE IF NOT EXISTS "+Q.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],S,A)}function fi(y){var Q=this,S={db:null};if(y)for(var A in y)S[A]=typeof y[A]!="string"?y[A].toString():y[A];var E=new u(function(_,z){try{S.db=openDatabase(S.name,String(S.version),S.description,S.size)}catch(W){return z(W)}S.db.transaction(function(W){zi(W,S,function(){Q._dbInfo=S,_()},function(K,q){z(q)})},z)});return S.serializer=ui,E}function rr(y,Q,S,A,E,_){y.executeSql(S,A,E,function(z,W){W.code===W.SYNTAX_ERR?z.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[Q.storeName],function(K,q){q.rows.length?_(K,W):zi(K,Q,function(){K.executeSql(S,A,E,_)},_)},_):_(z,W)},_)}function fr(y,Q){var S=this;y=g(y);var A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT * FROM "+z.storeName+" WHERE key = ? LIMIT 1",[y],function(K,q){var re=q.rows.length?q.rows.item(0).value:null;re&&(re=z.serializer.deserialize(re)),E(re)},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function pr(y,Q){var S=this,A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT * FROM "+z.storeName,[],function(K,q){for(var re=q.rows,ue=re.length,Ae=0;Ae0){z(Wi.apply(E,[y,K,S,A-1]));return}W(Ae)}})})}).catch(W)});return f(_,S),_}function ys(y,Q,S){return Wi.apply(this,[y,Q,S,1])}function Ss(y,Q){var S=this;y=g(y);var A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"DELETE FROM "+z.storeName+" WHERE key = ?",[y],function(){E()},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function vs(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"DELETE FROM "+_.storeName,[],function(){A()},function(W,K){E(K)})})}).catch(E)});return f(S,y),S}function xs(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"SELECT COUNT(key) as c FROM "+_.storeName,[],function(W,K){var q=K.rows.item(0).c;A(q)},function(W,K){E(K)})})}).catch(E)});return f(S,y),S}function $n(y,Q){var S=this,A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT key FROM "+z.storeName+" WHERE id = ? LIMIT 1",[y+1],function(K,q){var re=q.rows.length?q.rows.item(0).key:null;E(re)},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function Qn(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"SELECT key FROM "+_.storeName,[],function(W,K){for(var q=[],re=0;re '__WebKitDatabaseInfoTable__'",[],function(E,_){for(var z=[],W=0;W<_.rows.length;W++)z.push(_.rows.item(W).name);Q({db:y,storeNames:z})},function(E,_){S(_)})},function(A){S(A)})})}function mr(y,Q){Q=v.apply(this,arguments);var S=this.config();y=typeof y!="function"&&y||{},y.name||(y.name=y.name||S.name,y.storeName=y.storeName||S.storeName);var A=this,E;return y.name?E=new u(function(_){var z;y.name===S.name?z=A._dbInfo.db:z=openDatabase(y.name,"","",0),y.storeName?_({db:z,storeNames:[y.storeName]}):_(Ot(z))}).then(function(_){return new u(function(z,W){_.db.transaction(function(K){function q(Ie){return new u(function(Xe,ht){K.executeSql("DROP TABLE IF EXISTS "+Ie,[],function(){Xe()},function(nt,nr){ht(nr)})})}for(var re=[],ue=0,Ae=_.storeNames.length;ue0}function Ps(y){var Q=this,S={};if(y)for(var A in y)S[A]=y[A];return S.keyPrefix=bo(y,Q._defaultConfig),Oi()?(Q._dbInfo=S,S.serializer=ui,u.resolve()):u.reject()}function gi(y){var Q=this,S=Q.ready().then(function(){for(var A=Q._dbInfo.keyPrefix,E=localStorage.length-1;E>=0;E--){var _=localStorage.key(E);_.indexOf(A)===0&&localStorage.removeItem(_)}});return f(S,y),S}function ka(y,Q){var S=this;y=g(y);var A=S.ready().then(function(){var E=S._dbInfo,_=localStorage.getItem(E.keyPrefix+y);return _&&(_=E.serializer.deserialize(_)),_});return f(A,Q),A}function Lr(y,Q){var S=this,A=S.ready().then(function(){for(var E=S._dbInfo,_=E.keyPrefix,z=_.length,W=localStorage.length,K=1,q=0;q=0;z--){var W=localStorage.key(z);W.indexOf(_)===0&&localStorage.removeItem(W)}}):E=u.reject("Invalid arguments"),f(E,Q),E}var bi={_driver:"localStorageWrapper",_initStorage:Ps,_support:mi(),iterate:Lr,getItem:ka,setItem:Ta,removeItem:Or,clear:gi,length:_e,key:$a,keys:Qa,dropInstance:ks},$s=function(Q,S){return Q===S||typeof Q=="number"&&typeof S=="number"&&isNaN(Q)&&isNaN(S)},Qs=function(Q,S){for(var A=Q.length,E=0;E{(function(r,e){typeof wf=="object"&&typeof Pf!="undefined"?Pf.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self,r.Split=e())})(wf,(function(){"use strict";var r=typeof window!="undefined"?window:null,e=r===null,t=e?void 0:r.document,n="addEventListener",i="removeEventListener",s="getBoundingClientRect",o="_a",a="_b",l="_c",c="horizontal",d=function(){return!1},h=e?"calc":["","-webkit-","-moz-","-o-"].filter(function(D){var w=t.createElement("div");return w.style.cssText="width:"+D+"calc(9px)",!!w.style.length}).shift()+"calc",u=function(D){return typeof D=="string"||D instanceof String},f=function(D){if(u(D)){var w=t.querySelector(D);if(!w)throw new Error("Selector "+D+" did not match a DOM element");return w}return D},m=function(D,w,x){var R=D[w];return R!==void 0?R:x},g=function(D,w,x,R){if(w){if(R==="end")return 0;if(R==="center")return D/2}else if(x){if(R==="start")return 0;if(R==="center")return D/2}return D},v=function(D,w){var x=t.createElement("div");return x.className="gutter gutter-"+w,x},k=function(D,w,x){var R={};return u(w)?R[D]=w:R[D]=h+"("+w+"% - "+x+"px)",R},L=function(D,w){var x;return x={},x[D]=w+"px",x},M=function(D,w){if(w===void 0&&(w={}),e)return{};var x=D,R,X,j,G,ie,U;Array.from&&(x=Array.from(x));var ge=f(x[0]),pe=ge.parentNode,ke=getComputedStyle?getComputedStyle(pe):null,B=ke?ke.flexDirection:null,he=m(w,"sizes")||x.map(function(){return 100/x.length}),J=m(w,"minSize",100),ve=Array.isArray(J)?J:x.map(function(){return J}),$e=m(w,"maxSize",1/0),Ue=Array.isArray($e)?$e:x.map(function(){return $e}),tt=m(w,"expandToMin",!1),pt=m(w,"gutterSize",10),Zt=m(w,"gutterAlign","center"),Oe=m(w,"snapOffset",30),en=Array.isArray(Oe)?Oe:x.map(function(){return Oe}),tn=m(w,"dragInterval",1),rn=m(w,"direction",c),ci=m(w,"cursor",rn===c?"col-resize":"row-resize"),bs=m(w,"gutter",v),Xi=m(w,"elementStyle",k),di=m(w,"gutterStyle",L);rn===c?(R="width",X="clientX",j="left",G="right",ie="clientWidth"):rn==="vertical"&&(R="height",X="clientY",j="top",G="bottom",ie="clientHeight");function Pn(se,Y,ne,me){var qe=Xi(R,Y,ne,me);Object.keys(qe).forEach(function(Fe){se.style[Fe]=qe[Fe]})}function hi(se,Y,ne){var me=di(R,Y,ne);Object.keys(me).forEach(function(qe){se.style[qe]=me[qe]})}function Se(){return U.map(function(se){return se.size})}function Et(se){return"touches"in se?se.touches[0][X]:se[X]}function we(se){var Y=U[this.a],ne=U[this.b],me=Y.size+ne.size;Y.size=se/this.size*me,ne.size=me-se/this.size*me,Pn(Y.element,Y.size,this[a],Y.i),Pn(ne.element,ne.size,this[l],ne.i)}function nn(se){var Y,ne=U[this.a],me=U[this.b];this.dragging&&(Y=Et(se)-this.start+(this[a]-this.dragOffset),tn>1&&(Y=Math.round(Y/tn)*tn),Y<=ne.minSize+ne.snapOffset+this[a]?Y=ne.minSize+this[a]:Y>=this.size-(me.minSize+me.snapOffset+this[l])&&(Y=this.size-(me.minSize+this[l])),Y>=ne.maxSize-ne.snapOffset+this[a]?Y=ne.maxSize+this[a]:Y<=this.size-(me.maxSize-me.snapOffset+this[l])&&(Y=this.size-(me.maxSize+this[l])),we.call(this,Y),m(w,"onDrag",d)(Se()))}function He(){var se=U[this.a].element,Y=U[this.b].element,ne=se[s](),me=Y[s]();this.size=ne[R]+me[R]+this[a]+this[l],this.start=ne[j],this.end=ne[G]}function Nt(se){if(!getComputedStyle)return null;var Y=getComputedStyle(se);if(!Y)return null;var ne=se[ie];return ne===0?null:(rn===c?ne-=parseFloat(Y.paddingLeft)+parseFloat(Y.paddingRight):ne-=parseFloat(Y.paddingTop)+parseFloat(Y.paddingBottom),ne)}function sn(se){var Y=Nt(pe);if(Y===null||ve.reduce(function(Fe,Ge){return Fe+Ge},0)>Y)return se;var ne=0,me=[],qe=se.map(function(Fe,Ge){var vt=Y*Fe/100,tr=g(pt,Ge===0,Ge===se.length-1,Zt),on=ve[Ge]+tr;return vt0&&me[Ge]-ne>0){var tr=Math.min(ne,me[Ge]-ne);ne-=tr,vt=Fe-tr}return vt/Y*100})}function mt(){var se=this,Y=U[se.a].element,ne=U[se.b].element;se.dragging&&m(w,"onDragEnd",d)(Se()),se.dragging=!1,r[i]("mouseup",se.stop),r[i]("touchend",se.stop),r[i]("touchcancel",se.stop),r[i]("mousemove",se.move),r[i]("touchmove",se.move),se.stop=null,se.move=null,Y[i]("selectstart",d),Y[i]("dragstart",d),ne[i]("selectstart",d),ne[i]("dragstart",d),Y.style.userSelect="",Y.style.webkitUserSelect="",Y.style.MozUserSelect="",Y.style.pointerEvents="",ne.style.userSelect="",ne.style.webkitUserSelect="",ne.style.MozUserSelect="",ne.style.pointerEvents="",se.gutter.style.cursor="",se.parent.style.cursor="",t.body.style.cursor=""}function Nn(se){if(!("button"in se&&se.button!==0)){var Y=this,ne=U[Y.a].element,me=U[Y.b].element;Y.dragging||m(w,"onDragStart",d)(Se()),se.preventDefault(),Y.dragging=!0,Y.move=nn.bind(Y),Y.stop=mt.bind(Y),r[n]("mouseup",Y.stop),r[n]("touchend",Y.stop),r[n]("touchcancel",Y.stop),r[n]("mousemove",Y.move),r[n]("touchmove",Y.move),ne[n]("selectstart",d),ne[n]("dragstart",d),me[n]("selectstart",d),me[n]("dragstart",d),ne.style.userSelect="none",ne.style.webkitUserSelect="none",ne.style.MozUserSelect="none",ne.style.pointerEvents="none",me.style.userSelect="none",me.style.webkitUserSelect="none",me.style.MozUserSelect="none",me.style.pointerEvents="none",Y.gutter.style.cursor=ci,Y.parent.style.cursor=ci,t.body.style.cursor=ci,He.call(Y),Y.dragOffset=Et(se)-Y.end}}he=sn(he);var Xt=[];U=x.map(function(se,Y){var ne={element:f(se),size:he[Y],minSize:ve[Y],maxSize:Ue[Y],snapOffset:en[Y],i:Y},me;if(Y>0&&(me={a:Y-1,b:Y,dragging:!1,direction:rn,parent:pe},me[a]=g(pt,Y-1===0,!1,Zt),me[l]=g(pt,!1,Y===x.length-1,Zt),B==="row-reverse"||B==="column-reverse")){var qe=me.a;me.a=me.b,me.b=qe}if(Y>0){var Fe=bs(Y,rn,ne.element);hi(Fe,pt,Y),me[o]=Nn.bind(me),Fe[n]("mousedown",me[o]),Fe[n]("touchstart",me[o]),pe.insertBefore(Fe,ne.element),me.gutter=Fe}return Pn(ne.element,ne.size,g(pt,Y===0,Y===x.length-1,Zt),Y),Y>0&&Xt.push(me),ne});function kn(se){var Y=se.i===Xt.length,ne=Y?Xt[se.i-1]:Xt[se.i];He.call(ne);var me=Y?ne.size-se.minSize-ne[l]:se.minSize+ne[a];we.call(ne,me)}U.forEach(function(se){var Y=se.element[s]()[R];Y0){var qe=Xt[me-1],Fe=U[qe.a],Ge=U[qe.b];Fe.size=Y[me-1],Ge.size=ne,Pn(Fe.element,Fe.size,qe[a],Fe.i),Pn(Ge.element,Ge.size,qe[l],Ge.i)}})}function yt(se,Y){Xt.forEach(function(ne){if(Y!==!0?ne.parent.removeChild(ne.gutter):(ne.gutter[i]("mousedown",ne[o]),ne.gutter[i]("touchstart",ne[o])),se!==!0){var me=Xi(R,ne.a.size,ne[a]);Object.keys(me).forEach(function(qe){U[ne.a].element.style[qe]="",U[ne.b].element.style[qe]=""})}})}return{setSizes:jn,getSizes:Se,collapse:function(Y){kn(U[Y])},destroy:yt,parent:pe,pairs:Xt}};return M}))});var Db=qu((fj,sT)=>{"use strict";function zQ(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t2?n-2:0),s=2;s1?t-1:0),i=1;i1?t-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:ic;if(WQ&&WQ(r,null),!Sa(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(gX(e)||(e[n]=s),i=s)}r[i]=!0}return r}function $X(r){for(let e=0;e/g),RX=Yt(/\${[\w\W]*/g),MX=Yt(/^data-[\-\w.\u00B7-\uFFFF]+$/),LX=Yt(/^aria-[\-\w]+$/),HQ=Yt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),DX=Yt(/^(?:\w+script|data):/i),IX=Yt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ZX=Yt(/^html$/i),XX=Yt(/^[a-z][.\w]*(-[.\w]+)+$/i),KQ=Yt(/<[/\w!]/g),JQ=Yt(/<[/\w]/g),zX=Yt(/<\/no(script|embed|frames)/i),WX=Yt(/\/>/i),Hr={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},nT=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],BX=It(Ye({},nT)),VX=(function(){let r={};return fo(nT,e=>{r[e]=Yt(new RegExp("])","i"))}),It(r)})(),YX=function(){return typeof window=="undefined"?null:window},FX=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));let s="dompurify"+(n?"#"+n:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},eT=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ms=function(e,t,n,i){return Rr(e,t)&&Sa(e[t])?Ye(i.base?Kr(i.base):{},e[t],i.transform):n},Rb=function(e,t,n){let i=Rr(e,t)?e[t]:void 0;return i&&typeof i=="object"?Kr(i):n()};function iT(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:YX(),e=C=>iT(C);if(e.version="3.4.15",e.removed=[],!r||!r.document||r.document.nodeType!==Hr.document||!r.Element)return e.isSupported=!1,e;let t=r.document,n=t,i=n.currentScript;r.DocumentFragment;let s=r.HTMLTemplateElement,o=r.Node,a=r.Element,l=r.NodeFilter,c=r.NamedNodeMap;c===void 0&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let d=r.DOMParser,h=r.trustedTypes,u=a.prototype,f=xn(u,"cloneNode"),m=xn(u,"remove"),g=xn(u,"removeAttributeNode"),v=xn(u,"nextSibling"),k=xn(u,"childNodes"),L=xn(u,"parentNode"),M=xn(u,"shadowRoot"),D=xn(u,"attributes"),w=o&&o.prototype?xn(o.prototype,"nodeType"):null,x=o&&o.prototype?xn(o.prototype,"nodeName"):null,R=o&&o.prototype?xn(o.prototype,"ownerDocument"):null,X=function(p){return w?w(p):p.nodeType},j=function(p){return x?x(p):p.nodeName};if(typeof s=="function"){let C=t.createElement("template");C.content&&C.content.ownerDocument&&(t=C.content.ownerDocument)}let G,ie="",U,ge=!1,pe=0,ke=function(){if(pe>0)throw uo('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},B=function(p){ke(),pe++;try{return G.createHTML(p)}finally{pe--}},he=function(p){ke(),pe++;try{return G.createScriptURL(p)}finally{pe--}},J=function(){return ge||(U=FX(h,i),ge=!0),U},ve=t,$e=ve.implementation,Ue=ve.createNodeIterator,tt=ve.createDocumentFragment,pt=ve.getElementsByTagName,Zt=n.importNode,Oe=eT();e.isSupported=typeof tT=="function"&&typeof L=="function"&&$e&&$e.createHTMLDocument!==void 0;let en=CX,tn=EX,rn=RX,ci=MX,bs=LX,Xi=DX,di=IX,Pn=XX,hi=HQ,Se=null,Et=Ye({},[...jQ,..._b,...Ab,...Cb,...UQ]),we=null,nn=Ye({},[...qQ,...Eb,...GQ,...Tu]),He=Object.seal(ya(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Nt=null,sn=null,mt=Object.seal(ya(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Nn=!0,Xt=!0,kn=!1,jn=!0,yt=!1,se=!0,Y=!1,ne=!1,me=null,qe=null,Fe=!1,Ge=!1,vt=!1,tr=!1,on=!0,ui=!1,zi="user-content-",fi=!0,rr=!1,fr={},pr=null,Wi=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),ys=null,Ss=Ye({},["audio","video","img","source","image","track"]),vs=null,xs=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$n="http://www.w3.org/1998/Math/MathML",Qn="http://www.w3.org/2000/svg",Ot="http://www.w3.org/1999/xhtml",mr=Ot,pi=!1,mi=null,bo=Ye({},[$n,Qn,Ot],Tb),ws=It(["mi","mo","mn","ms","mtext"]),Oi=Ye({},ws),Ps=It(["annotation-xml"]),gi=Ye({},Ps),ka=Ye({},["title","style","font","a","script"]),Lr=null,$a=["application/xhtml+xml","text/html"],Qa="text/html",_e=null,Or=null,Ta=t.createElement("form"),ks=function(p){return p instanceof RegExp||p instanceof Function},bi=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Or&&Or===p)return;(!p||typeof p!="object")&&(p={}),p=Kr(p),Lr=$a.indexOf(p.PARSER_MEDIA_TYPE)===-1?Qa:p.PARSER_MEDIA_TYPE,_e=Lr==="application/xhtml+xml"?Tb:ic,Se=ms(p,"ALLOWED_TAGS",Et,{transform:_e}),we=ms(p,"ALLOWED_ATTR",nn,{transform:_e}),mi=ms(p,"ALLOWED_NAMESPACES",bo,{transform:Tb}),vs=ms(p,"ADD_URI_SAFE_ATTR",xs,{transform:_e,base:xs}),ys=ms(p,"ADD_DATA_URI_TAGS",Ss,{transform:_e,base:Ss}),pr=ms(p,"FORBID_CONTENTS",Wi,{transform:_e}),Nt=ms(p,"FORBID_TAGS",Kr({}),{transform:_e}),sn=ms(p,"FORBID_ATTR",Kr({}),{transform:_e}),fr=Rr(p,"USE_PROFILES")?p.USE_PROFILES&&typeof p.USE_PROFILES=="object"?Kr(p.USE_PROFILES):p.USE_PROFILES:!1,Nn=p.ALLOW_ARIA_ATTR!==!1,Xt=p.ALLOW_DATA_ATTR!==!1,kn=p.ALLOW_UNKNOWN_PROTOCOLS||!1,jn=p.ALLOW_SELF_CLOSE_IN_ATTR!==!1,yt=p.SAFE_FOR_TEMPLATES||!1,se=p.SAFE_FOR_XML!==!1,Y=p.WHOLE_DOCUMENT||!1,Ge=p.RETURN_DOM||!1,vt=p.RETURN_DOM_FRAGMENT||!1,tr=p.RETURN_TRUSTED_TYPE||!1,Fe=p.FORCE_BODY||!1,on=p.SANITIZE_DOM!==!1,ui=p.SANITIZE_NAMED_PROPS||!1,fi=p.KEEP_CONTENT!==!1,rr=p.IN_PLACE||!1,hi=TX(p.ALLOWED_URI_REGEXP)?p.ALLOWED_URI_REGEXP:HQ,mr=typeof p.NAMESPACE=="string"?p.NAMESPACE:Ot,Oi=Rb(p,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ye({},ws)),gi=Rb(p,"HTML_INTEGRATION_POINTS",()=>Ye({},Ps));let b=Rb(p,"CUSTOM_ELEMENT_HANDLING",()=>ya(null));if(He=ya(null),Rr(b,"tagNameCheck")&&ks(b.tagNameCheck)&&(He.tagNameCheck=b.tagNameCheck),Rr(b,"attributeNameCheck")&&ks(b.attributeNameCheck)&&(He.attributeNameCheck=b.attributeNameCheck),Rr(b,"allowCustomizedBuiltInElements")&&typeof b.allowCustomizedBuiltInElements=="boolean"&&(He.allowCustomizedBuiltInElements=b.allowCustomizedBuiltInElements),Yt(He),yt&&(Xt=!1),vt&&(Ge=!0),fr&&(Se=Ye({},UQ),we=ya(null),fr.html===!0&&(Ye(Se,jQ),Ye(we,qQ)),fr.svg===!0&&(Ye(Se,_b),Ye(we,Eb),Ye(we,Tu)),fr.svgFilters===!0&&(Ye(Se,Ab),Ye(we,Eb),Ye(we,Tu)),fr.mathMl===!0&&(Ye(Se,Cb),Ye(we,GQ),Ye(we,Tu))),mt.tagCheck=null,mt.attributeCheck=null,Rr(p,"ADD_TAGS")&&(typeof p.ADD_TAGS=="function"?mt.tagCheck=p.ADD_TAGS:Sa(p.ADD_TAGS)&&(Se===Et&&(Se=Kr(Se)),Ye(Se,p.ADD_TAGS,_e))),Rr(p,"ADD_ATTR")&&(typeof p.ADD_ATTR=="function"?mt.attributeCheck=p.ADD_ATTR:Sa(p.ADD_ATTR)&&(we===nn&&(we=Kr(we)),Ye(we,p.ADD_ATTR,_e))),Rr(p,"ADD_FORBID_CONTENTS")&&Sa(p.ADD_FORBID_CONTENTS)&&(pr===Wi&&(pr=Kr(pr)),Ye(pr,p.ADD_FORBID_CONTENTS,_e)),fi&&(Se["#text"]=!0),Y&&Ye(Se,["html","head","body"]),Se.table&&(Ye(Se,["tbody"]),delete Nt.tbody),p.TRUSTED_TYPES_POLICY){if(typeof p.TRUSTED_TYPES_POLICY.createHTML!="function")throw uo('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof p.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw uo('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=G;G=p.TRUSTED_TYPES_POLICY;try{ie=B("")}catch(I){throw G=T,I}}else p.TRUSTED_TYPES_POLICY===null?(G=void 0,ie=""):(G===void 0&&(G=J()),G&&typeof ie=="string"&&(ie=B("")));It&&It(p),Or=p},$s=Ye({},[..._b,...Ab,..._X]),Qs=Ye({},[...Cb,...AX]),yo=function(p,b,T){return b.namespaceURI===Ot?p==="svg":b.namespaceURI===$n?p==="svg"&&(T==="annotation-xml"||Oi[T]):!!$s[p]},yi=function(p,b,T){return b.namespaceURI===Ot?p==="math":b.namespaceURI===Qn?p==="math"&&gi[T]:!!Qs[p]},So=function(p,b,T){return b.namespaceURI===Qn&&!gi[T]||b.namespaceURI===$n&&!Oi[T]?!1:!Qs[p]&&(ka[p]||!$s[p])},Un=function(p){let b=L(p);(!b||!b.tagName)&&(b={namespaceURI:mr,tagName:"template"});let T=ic(p.tagName),I=ic(b.tagName);return mi[p.namespaceURI]?p.namespaceURI===Qn?yo(T,b,I):p.namespaceURI===$n?yi(T,b,I):p.namespaceURI===Ot?So(T,b,I):!!(Lr==="application/xhtml+xml"&&mi[p.namespaceURI]):!1},Rt=function(p){tc(e.removed,{element:p});try{L(p).removeChild(p)}catch(b){if(m(p),!L(p))throw uo("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},qn=function(p,b,T){try{g(p,b)}catch(I){try{p.removeAttribute(T)}catch(V){}}},Dr=function(p){Ir(p);let b=k(p);if(b){let I=[];fo(b,V=>{tc(I,V)}),fo(I,V=>{try{m(V)}catch(H){}})}let T=D(p);if(T)for(let I=T.length-1;I>=0;--I){let V=T[I],H=V&&V.name;typeof H=="string"&&qn(p,V,H)}},jt=function(p,b,T){if(!T)try{T=b.getAttributeNode(p)}catch(I){T=null}tc(e.removed,{attribute:T||null,from:b});try{T?g(b,T):b.removeAttribute(p)}catch(I){try{b.removeAttribute(p)}catch(V){}}if(p==="is")if(Ge||vt)try{Rt(b)}catch(I){}else try{b.setAttribute(p,"")}catch(I){}},_a=function(p){let b=D(p);if(b)for(let T=b.length-1;T>=0;--T){let I=b[T],V=I&&I.name;typeof V!="string"||we[_e(V)]||qn(p,I,V)}},Ir=function(p){let b=[p];for(;b.length>0;){let T=b.pop();X(T)===Hr.element&&_a(T);let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},Ts=function(p,b){return se?p==="patchsrc"?!0:p==="for"&&b!=="label"&&b!=="output":!1},Aa=function(p){if(!se)return;let b=[p];for(;b.length>0;){let T=b.pop(),I=X(T);if(I===Hr.processingInstruction||I===Hr.comment&&ur(JQ,T.data)){try{m(T)}catch(H){}continue}if(I===Hr.element){let H=T,Pe=_e(j(T));try{H.hasAttribute&&H.hasAttribute("patchsrc")&&H.removeAttribute("patchsrc"),H.hasAttribute&&H.hasAttribute("for")&&Ts("for",Pe)&&H.removeAttribute("for")}catch(Qe){}}let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},y=function(p){let b=null,T=null;if(Fe)p=""+p;else{let H=VQ(p,/^[\r\n\t ]+/);T=H&&H[0]}Lr==="application/xhtml+xml"&&mr===Ot&&(p=''+p+"");let I=G?B(p):p;if(mr===Ot)try{b=new d().parseFromString(I,Lr)}catch(H){}if(!b||!b.documentElement){b=$e.createDocument(mr,"template",null);try{b.documentElement.innerHTML=pi?ie:I}catch(H){}}let V=b.body||b.documentElement;return p&&T&&V.insertBefore(t.createTextNode(T),V.childNodes[0]||null),mr===Ot?pt.call(b,Y?"html":"body")[0]:Y?b.documentElement:V},Q=function(p){let b=R?R(p):p.ownerDocument;return Ue.call(b||p,p,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},S=function(p){return p=rc(p,en," "),p=rc(p,tn," "),p=rc(p,rn," "),p},A=function(p){var b;p.normalize();let T=R?R(p):p.ownerDocument,I=Ue.call(T||p,p,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),V=I.nextNode();for(;V;)V.data=S(V.data),V=I.nextNode();let H=(b=p.querySelectorAll)===null||b===void 0?void 0:b.call(p,"template");H&&fo(H,Pe=>{_(Pe.content)&&A(Pe.content)})},E=function(p){let b=x?x(p):null;return typeof b!="string"||_e(b)!=="form"?!1:typeof p.nodeName!="string"||typeof p.textContent!="string"||typeof p.removeChild!="function"||p.attributes!==D(p)||typeof p.removeAttribute!="function"||typeof p.removeAttributeNode!="function"||typeof p.getAttributeNode!="function"||typeof p.setAttribute!="function"||typeof p.namespaceURI!="string"||typeof p.insertBefore!="function"||typeof p.hasChildNodes!="function"||p.nodeType!==w(p)||p.childNodes!==k(p)},_=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return w(p)===Hr.documentFragment}catch(b){return!1}},z=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return typeof w(p)=="number"}catch(b){return!1}};function W(C,p,b){C.length!==0&&fo(C,T=>{T.call(e,p,b,Or)})}let K=function(p,b){return!!(se&&p.hasChildNodes()&&!z(p.firstElementChild)&&ur(KQ,p.textContent)&&ur(KQ,p.innerHTML)||se&&p.namespaceURI===Ot&&BX[b]&&(z(p.firstElementChild)||typeof p.textContent=="string"&&ur(VX[b],p.textContent))||p.nodeType===Hr.processingInstruction||se&&p.nodeType===Hr.comment&&ur(JQ,p.data))},q=function(p,b){if(p instanceof RegExp)return ur(p,b);if(p instanceof Function){for(var T=arguments.length,I=new Array(T>2?T-2:0),V=2;V=0;--Pe){let Qe=p===T?f(V[Pe],!0):V[Pe];I.insertBefore(Qe,v(p))}}}return Rt(p),!0},ue=function(p,b,T,I){return p.length===0?b:b===T||b===I?Kr(b):b},Ae=function(p,b){return p===b||L(p)!==null?!1:(rr&&Ir(p),!0)},Ie=function(p,b){if(W(Oe.beforeSanitizeElements,p,null),Ae(p,b))return!0;if(E(p))return Rt(p),!0;let T=_e(j(p));if(Se=ue(Oe.uponSanitizeElement,Se,Et,me),W(Oe.uponSanitizeElement,p,{tagName:T,allowedTags:Se}),Ae(p,b))return!0;if(K(p,T))return Rt(p),!0;if(Nt[T]||!(mt.tagCheck instanceof Function&&mt.tagCheck(T))&&!Se[T]){let V=re(p,T,b);return V===!1&&W(Oe.afterSanitizeElements,p,null),V}if(X(p)===Hr.element&&!Un(p)||(T==="noscript"||T==="noembed"||T==="noframes")&&ur(zX,p.innerHTML))return Rt(p),!0;if(yt&&p.nodeType===Hr.text){let V=S(p.textContent);p.textContent!==V&&(tc(e.removed,{element:p.cloneNode()}),p.textContent=V)}return W(Oe.afterSanitizeElements,p,null),!1},Xe=function(p,b,T){if(sn[b]||Ts(b,p)||on&&(b==="id"||b==="name")&&(T in t||T in Ta))return!1;let I=we[b]||mt.attributeCheck instanceof Function&&mt.attributeCheck(b,p);return Xt&&ur(ci,b)||Nn&&ur(bs,b)?!0:I?vs[b]||ur(hi,rc(T,di,""))||(b==="src"||b==="xlink:href"||b==="href")&&p!=="script"&&YQ(T,"data:")===0&&ys[p]||kn&&!ur(Xi,rc(T,di,""))?!0:!T:nt(p)&&q(He.tagNameCheck,p)&&q(He.attributeNameCheck,b,p)||b==="is"&&He.allowCustomizedBuiltInElements&&q(He.tagNameCheck,T)},ht=Ye({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),nt=function(p){return!ht[ic(p)]&&ur(Pn,p)},nr=function(p,b,T,I){if(G&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!T)switch(h.getAttributeType(p,b)){case"TrustedHTML":return B(I);case"TrustedScriptURL":return he(I)}return I},Si=function(p,b,T,I){try{return T?p.setAttributeNS(T,b,I):p.setAttribute(b,I),E(p)?(Rt(p),!1):!0}catch(V){return jt(b,p),!1}},vi=function(p){W(Oe.beforeSanitizeAttributes,p,null);let b=p.attributes;if(!b||E(p))return;we=ue(Oe.uponSanitizeAttribute,we,nn,qe);let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0},I=b.length,V=_e(p.nodeName);for(;I--;){let H=b[I],Pe=H.name,Qe=H.namespaceURI,Ke=H.value,Je=_e(Pe),_s=Ke,Ne=Pe==="value"?_s:xX(_s),Ca=!1;if(T.attrName=Je,T.attrValue=Ne,T.keepAttr=!0,T.forceKeepAttr=void 0,W(Oe.uponSanitizeAttribute,p,T),Ne=T.attrValue,ui&&(Je==="id"||Je==="name")&&YQ(Ne,zi)!==0&&(jt(Pe,p,H),Ne=zi+Ne,Ca=!0),se&&ur(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ne)){jt(Pe,p,H);continue}if(Je==="attributename"&&VQ(Ne,"href")){jt(Pe,p,H);continue}if(!T.forceKeepAttr){if(!T.keepAttr){jt(Pe,p,H);continue}if(!jn&&ur(WX,Ne)){jt(Pe,p,H);continue}if(yt&&(Ne=S(Ne)),!Xe(V,Je,Ne)){jt(Pe,p,H);continue}Ne=nr(V,Je,Qe,Ne),Ne!==_s&&Si(p,Pe,Qe,Ne)&&Ca&&BQ(e.removed)}}W(Oe.afterSanitizeAttributes,p,null)},Tn=function(p){let b=null,T=Q(p);for(W(Oe.beforeSanitizeShadowDOM,p,null);b=T.nextNode();)if(W(Oe.uponSanitizeShadowNode,b,null),Ie(b,p),vi(b),_(b.content)&&Tn(b.content),X(b)===Hr.element){let I=M(b);_(I)&&(_n(I),Tn(I))}W(Oe.afterSanitizeShadowDOM,p,null)},_n=function(p){let b=[{node:p,shadow:null}];for(;b.length>0;){let T=b.pop();if(T.shadow){Tn(T.shadow);continue}let I=T.node,H=X(I)===Hr.element,Pe=k(I);if(Pe)for(let Qe=Pe.length-1;Qe>=0;--Qe)b.push({node:Pe[Qe],shadow:null});if(H){let Qe=x?x(I):null;if(typeof Qe=="string"&&_e(Qe)==="template"){let Ke=I.content;_(Ke)&&b.push({node:Ke,shadow:null})}}if(H){let Qe=M(I);_(Qe)&&b.push({node:null,shadow:Qe},{node:Qe,shadow:null})}}};return e.sanitize=function(C){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=null,T=null,I=null,V=null;if(pi=!C,pi&&(C=""),typeof C!="string"&&!z(C)&&(C=QX(C),typeof C!="string"))throw uo("dirty is not a string, aborting");if(!e.isSupported)return C;ne?(Se=me,we=qe):bi(p),(Oe.uponSanitizeElement.length>0||Oe.uponSanitizeAttribute.length>0)&&(Se=Kr(Se)),Oe.uponSanitizeAttribute.length>0&&(we=Kr(we)),e.removed=[];let H=rr&&typeof C!="string"&&z(C);if(H){Aa(C);let Ke=j(C);if(typeof Ke=="string"){let Je=_e(Ke);if(!Se[Je]||Nt[Je])throw Dr(C),uo("root node is forbidden and cannot be sanitized in-place")}if(E(C))throw Dr(C),uo("root node is clobbered and cannot be sanitized in-place");try{_n(C)}catch(Je){throw Dr(C),Je}}else if(z(C))b=y(""),T=b.ownerDocument.importNode(C,!0),T.nodeType===Hr.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?b=T:b.appendChild(T),_n(b);else{if(!Ge&&!yt&&!Y&&C.indexOf("<")===-1)return G&&tr?B(C):C;if(b=y(C),!b)return Ge?null:tr?ie:""}b&&Fe&&Rt(b.firstChild);let Pe=H?C:b;try{let Ke=Q(Pe);for(;I=Ke.nextNode();)Ie(I,Pe),vi(I),_(I.content)&&Tn(I.content)}catch(Ke){throw H&&(Dr(C),fo(e.removed,Je=>{Je.element&&Ir(Je.element)})),Ke}if(H)return fo(e.removed,Ke=>{Ke.element&&Ir(Ke.element)}),yt&&A(C),C;if(Ge){if(yt&&A(b),vt)for(V=tt.call(b.ownerDocument);b.firstChild;)V.appendChild(b.firstChild);else V=b;return(we.shadowroot||we.shadowrootmode)&&(V=Zt.call(n,V,!0)),V}let Qe=Y?b.outerHTML:b.innerHTML;return Y&&Se["!doctype"]&&b.ownerDocument&&b.ownerDocument.doctype&&b.ownerDocument.doctype.name&&ur(ZX,b.ownerDocument.doctype.name)&&(Qe=" -`+Qe),yt&&(Qe=S(Qe)),G&&tr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&Rr(Oe,C)&&tc(Oe[C],p)},e.removeHook=function(C,p){if(Rr(Oe,C)){if(p!==void 0){let b=SX(Oe[C],p);return b===-1?void 0:vX(Oe[C],b,1)[0]}return BQ(Oe[C])}},e.removeHooks=function(C){Rr(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=eT()},e}var NX=iT();sT.exports=NX});var Ub=Gu(of());var Es="\u2190\u2191\u2193\u2192";var xc=[{keys:[Es],action:"Joypad"},{keys:["Space"],action:"Button A"},{keys:["Shift"],action:"Button B"}],af=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button 1"},{keys:["Shift"],action:"Button 2"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"}],vc=[...xc,{keys:["\\"],action:"Select"},{keys:["Enter"],action:"Start"}],p0=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button"}],m0={vcs:p0,c64:p0,apple2:[{keys:["Mouse"],action:"Paddles/Joystick"},{keys:["Click"],action:"Button 1"},{keys:["SHIFT-Click"],action:"Button 2"},{keys:["ALT-Click"],action:"Button 3"}],nes:vc,atari7800:vc,pce:vc,gb:vc,msx:xc,coleco:xc,sms:[...xc,{keys:["Enter"],action:"Start"}],vicdual:af,galaxian:af,vector:af,mw8080bw:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"}],williams:[{keys:["A W S D"],action:"Move"},{keys:[Es],action:"Fire"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"},{keys:["6 7 8 9"],action:"Extra"}],astrocade:[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Trigger"},{keys:["Mouse X"],action:"Knob"},{keys:[`U I O P +import{a as d0}from"./chunk-NTFEI2OH.js";import{a as h0}from"./chunk-T6VURU5O.js";import{a as vc}from"./chunk-A7SWO6EA.js";import{a as u0,b as f0,c as s_}from"./chunk-EY5LTL52.js";import{C as nf,H as sf,t as l0,u as c0}from"./chunk-4WX2XTAI.js";import"./chunk-UACHXWHT.js";import{A as cn,E as dn,F as ef,G as xo,I as wo,J as yc,K as tf,T as rf,U as o0,X as a0,a as Gn,b as Ma,d as St,da as Sc,e as La,f as zt,g as Ce,h as Ku,i as r0,k as n0,m as Oc,n as gc,o as bc,p as Cs,q as i0,t as vo,w as s0,x as Ju,y as Da,z as ir}from"./chunk-EK7ZCXAS.js";import{a as gt,b as As,c as Ra,d as Gu,e as Hu}from"./chunk-VSC4MAII.js";var af=Gu((p0,of)=>{(function(r){if(typeof p0=="object"&&typeof of!="undefined")of.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e;typeof window!="undefined"?e=window:typeof global!="undefined"?e=global:typeof self!="undefined"?e=self:e=this,e.localforage=r()}})(function(){var r,e,t;return(function n(i,s,o){function a(d,h){if(!s[d]){if(!i[d]){var u=typeof Ra=="function"&&Ra;if(!h&&u)return u(d,!0);if(l)return l(d,!0);var f=new Error("Cannot find module '"+d+"'");throw f.code="MODULE_NOT_FOUND",f}var m=s[d]={exports:{}};i[d][0].call(m.exports,function(g){var v=i[d][1][g];return a(v||g)},m,m.exports,n,i,s,o)}return s[d].exports}for(var l=typeof Ra=="function"&&Ra,c=0;c=43)}}).catch(function(){return!1})}function j(y){return typeof L=="boolean"?u.resolve(L):X(y).then(function(Q){return L=Q,L})}function G(y){var Q=M[y.name],S={};S.promise=new u(function(A,E){S.resolve=A,S.reject=E}),Q.deferredOperations.push(S),Q.dbReady?Q.dbReady=Q.dbReady.then(function(){return S.promise}):Q.dbReady=S.promise}function ie(y){var Q=M[y.name],S=Q.deferredOperations.pop();if(S)return S.resolve(),S.promise}function U(y,Q){var S=M[y.name],A=S.deferredOperations.pop();if(A)return A.reject(Q),A.promise}function ge(y,Q){return new u(function(S,A){if(M[y.name]=M[y.name]||pt(),y.db)if(Q)G(y),y.db.close();else return S(y.db);var E=[y.name];Q&&E.push(y.version);var _=c.open.apply(c,E);Q&&(_.onupgradeneeded=function(z){var W=_.result;try{W.createObjectStore(y.storeName),z.oldVersion<=1&&W.createObjectStore(k)}catch(K){if(K.name==="ConstraintError")console.warn('The database "'+y.name+'" has been upgraded from version '+z.oldVersion+" to version "+z.newVersion+', but the storage "'+y.storeName+'" already exists.');else throw K}}),_.onerror=function(z){z.preventDefault(),A(_.error)},_.onsuccess=function(){var z=_.result;z.onversionchange=function(W){W.target.close()},S(z),ie(y)}})}function pe(y){return ge(y,!1)}function ke(y){return ge(y,!0)}function B(y,Q){if(!y.db)return!0;var S=!y.db.objectStoreNames.contains(y.storeName),A=y.versiony.db.version;if(A&&(y.version!==Q&&console.warn('The database "'+y.name+`" can't be downgraded from version `+y.db.version+" to version "+y.version+"."),y.version=y.db.version),E||S){if(S){var _=y.db.version+1;_>y.version&&(y.version=_)}return!0}return!1}function he(y){return new u(function(Q,S){var A=new FileReader;A.onerror=S,A.onloadend=function(E){var _=btoa(E.target.result||"");Q({__local_forage_encoded_blob:!0,data:_,type:y.type})},A.readAsBinaryString(y)})}function J(y){var Q=R(atob(y.data));return h([Q],{type:y.type})}function ve(y){return y&&y.__local_forage_encoded_blob}function $e(y){var Q=this,S=Q._initReady().then(function(){var A=M[Q._dbInfo.name];if(A&&A.dbReady)return A.dbReady});return m(S,y,y),S}function Ue(y){G(y);for(var Q=M[y.name],S=Q.forages,A=0;A0&&(!y.db||_.name==="InvalidStateError"||_.name==="NotFoundError"))return u.resolve().then(function(){if(!y.db||_.name==="NotFoundError"&&!y.db.objectStoreNames.contains(y.storeName)&&y.version<=y.db.version)return y.db&&(y.version=y.db.version+1),ke(y)}).then(function(){return Ue(y).then(function(){tt(y,Q,S,A-1)})}).catch(S);S(_)}}function pt(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function Zt(y){var Q=this,S={db:null};if(y)for(var A in y)S[A]=y[A];var E=M[S.name];E||(E=pt(),M[S.name]=E),E.forages.push(Q),Q._initReady||(Q._initReady=Q.ready,Q.ready=$e);var _=[];function z(){return u.resolve()}for(var W=0;W>4,re[E++]=(z&15)<<4|W>>2,re[E++]=(W&3)<<6|K&63;return q}function vt(y){var Q=new Uint8Array(y),S="",A;for(A=0;A>2],S+=Et[(Q[A]&3)<<4|Q[A+1]>>4],S+=Et[(Q[A+1]&15)<<2|Q[A+2]>>6],S+=Et[Q[A+2]&63];return Q.length%3===2?S=S.substring(0,S.length-1)+"=":Q.length%3===1&&(S=S.substring(0,S.length-2)+"=="),S}function tr(y,Q){var S="";if(y&&(S=Ne.call(y)),y&&(S==="[object ArrayBuffer]"||y.buffer&&Ne.call(y.buffer)==="[object ArrayBuffer]")){var A,E=He;y instanceof ArrayBuffer?(A=y,E+=an):(A=y.buffer,S==="[object Int8Array]"?E+=Nn:S==="[object Uint8Array]"?E+=Xt:S==="[object Uint8ClampedArray]"?E+=$n:S==="[object Int16Array]"?E+=jn:S==="[object Uint16Array]"?E+=se:S==="[object Int32Array]"?E+=yt:S==="[object Uint32Array]"?E+=Y:S==="[object Float32Array]"?E+=ne:S==="[object Float64Array]"?E+=me:Q(new Error("Failed to get type for BinaryArray"))),Q(E+vt(A))}else if(S==="[object Blob]"){var _=new FileReader;_.onload=function(){var z=we+y.type+"~"+vt(this.result);Q(He+mt+z)},_.readAsArrayBuffer(y)}else try{Q(JSON.stringify(y))}catch(z){console.error("Couldn't convert value into a JSON string: ",y),Q(null,z)}}function ln(y){if(y.substring(0,jt)!==He)return JSON.parse(y);var Q=y.substring(qe),S=y.substring(jt,qe),A;if(S===mt&&on.test(Q)){var E=Q.match(on);A=E[1],Q=Q.substring(E[0].length)}var _=Ge(Q);switch(S){case an:return _;case mt:return h([_],{type:A});case Nn:return new Int8Array(_);case Xt:return new Uint8Array(_);case $n:return new Uint8ClampedArray(_);case jn:return new Int16Array(_);case se:return new Uint16Array(_);case yt:return new Int32Array(_);case Y:return new Uint32Array(_);case ne:return new Float32Array(_);case me:return new Float64Array(_);default:throw new Error("Unkown type: "+S)}}var ui={serialize:tr,deserialize:ln,stringToBuffer:Ge,bufferToString:vt};function zi(y,Q,S,A){y.executeSql("CREATE TABLE IF NOT EXISTS "+Q.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],S,A)}function fi(y){var Q=this,S={db:null};if(y)for(var A in y)S[A]=typeof y[A]!="string"?y[A].toString():y[A];var E=new u(function(_,z){try{S.db=openDatabase(S.name,String(S.version),S.description,S.size)}catch(W){return z(W)}S.db.transaction(function(W){zi(W,S,function(){Q._dbInfo=S,_()},function(K,q){z(q)})},z)});return S.serializer=ui,E}function rr(y,Q,S,A,E,_){y.executeSql(S,A,E,function(z,W){W.code===W.SYNTAX_ERR?z.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[Q.storeName],function(K,q){q.rows.length?_(K,W):zi(K,Q,function(){K.executeSql(S,A,E,_)},_)},_):_(z,W)},_)}function fr(y,Q){var S=this;y=g(y);var A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT * FROM "+z.storeName+" WHERE key = ? LIMIT 1",[y],function(K,q){var re=q.rows.length?q.rows.item(0).value:null;re&&(re=z.serializer.deserialize(re)),E(re)},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function pr(y,Q){var S=this,A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT * FROM "+z.storeName,[],function(K,q){for(var re=q.rows,ue=re.length,Ae=0;Ae0){z(Wi.apply(E,[y,K,S,A-1]));return}W(Ae)}})})}).catch(W)});return f(_,S),_}function ys(y,Q,S){return Wi.apply(this,[y,Q,S,1])}function Ss(y,Q){var S=this;y=g(y);var A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"DELETE FROM "+z.storeName+" WHERE key = ?",[y],function(){E()},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function vs(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"DELETE FROM "+_.storeName,[],function(){A()},function(W,K){E(K)})})}).catch(E)});return f(S,y),S}function xs(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"SELECT COUNT(key) as c FROM "+_.storeName,[],function(W,K){var q=K.rows.item(0).c;A(q)},function(W,K){E(K)})})}).catch(E)});return f(S,y),S}function Qn(y,Q){var S=this,A=new u(function(E,_){S.ready().then(function(){var z=S._dbInfo;z.db.transaction(function(W){rr(W,z,"SELECT key FROM "+z.storeName+" WHERE id = ? LIMIT 1",[y+1],function(K,q){var re=q.rows.length?q.rows.item(0).key:null;E(re)},function(K,q){_(q)})})}).catch(_)});return f(A,Q),A}function Tn(y){var Q=this,S=new u(function(A,E){Q.ready().then(function(){var _=Q._dbInfo;_.db.transaction(function(z){rr(z,_,"SELECT key FROM "+_.storeName,[],function(W,K){for(var q=[],re=0;re '__WebKitDatabaseInfoTable__'",[],function(E,_){for(var z=[],W=0;W<_.rows.length;W++)z.push(_.rows.item(W).name);Q({db:y,storeNames:z})},function(E,_){S(_)})},function(A){S(A)})})}function mr(y,Q){Q=v.apply(this,arguments);var S=this.config();y=typeof y!="function"&&y||{},y.name||(y.name=y.name||S.name,y.storeName=y.storeName||S.storeName);var A=this,E;return y.name?E=new u(function(_){var z;y.name===S.name?z=A._dbInfo.db:z=openDatabase(y.name,"","",0),y.storeName?_({db:z,storeNames:[y.storeName]}):_(Ot(z))}).then(function(_){return new u(function(z,W){_.db.transaction(function(K){function q(Ie){return new u(function(Xe,ht){K.executeSql("DROP TABLE IF EXISTS "+Ie,[],function(){Xe()},function(nt,nr){ht(nr)})})}for(var re=[],ue=0,Ae=_.storeNames.length;ue0}function Ps(y){var Q=this,S={};if(y)for(var A in y)S[A]=y[A];return S.keyPrefix=bo(y,Q._defaultConfig),Oi()?(Q._dbInfo=S,S.serializer=ui,u.resolve()):u.reject()}function gi(y){var Q=this,S=Q.ready().then(function(){for(var A=Q._dbInfo.keyPrefix,E=localStorage.length-1;E>=0;E--){var _=localStorage.key(E);_.indexOf(A)===0&&localStorage.removeItem(_)}});return f(S,y),S}function $a(y,Q){var S=this;y=g(y);var A=S.ready().then(function(){var E=S._dbInfo,_=localStorage.getItem(E.keyPrefix+y);return _&&(_=E.serializer.deserialize(_)),_});return f(A,Q),A}function Dr(y,Q){var S=this,A=S.ready().then(function(){for(var E=S._dbInfo,_=E.keyPrefix,z=_.length,W=localStorage.length,K=1,q=0;q=0;z--){var W=localStorage.key(z);W.indexOf(_)===0&&localStorage.removeItem(W)}}):E=u.reject("Invalid arguments"),f(E,Q),E}var bi={_driver:"localStorageWrapper",_initStorage:Ps,_support:mi(),iterate:Dr,getItem:$a,setItem:_a,removeItem:Or,clear:gi,length:_e,key:Qa,keys:Ta,dropInstance:ks},$s=function(Q,S){return Q===S||typeof Q=="number"&&typeof S=="number"&&isNaN(Q)&&isNaN(S)},Qs=function(Q,S){for(var A=Q.length,E=0;E{(function(r,e){typeof Pf=="object"&&typeof kf!="undefined"?kf.exports=e():typeof define=="function"&&define.amd?define(e):(r=typeof globalThis!="undefined"?globalThis:r||self,r.Split=e())})(Pf,(function(){"use strict";var r=typeof window!="undefined"?window:null,e=r===null,t=e?void 0:r.document,n="addEventListener",i="removeEventListener",s="getBoundingClientRect",o="_a",a="_b",l="_c",c="horizontal",d=function(){return!1},h=e?"calc":["","-webkit-","-moz-","-o-"].filter(function(D){var w=t.createElement("div");return w.style.cssText="width:"+D+"calc(9px)",!!w.style.length}).shift()+"calc",u=function(D){return typeof D=="string"||D instanceof String},f=function(D){if(u(D)){var w=t.querySelector(D);if(!w)throw new Error("Selector "+D+" did not match a DOM element");return w}return D},m=function(D,w,x){var R=D[w];return R!==void 0?R:x},g=function(D,w,x,R){if(w){if(R==="end")return 0;if(R==="center")return D/2}else if(x){if(R==="start")return 0;if(R==="center")return D/2}return D},v=function(D,w){var x=t.createElement("div");return x.className="gutter gutter-"+w,x},k=function(D,w,x){var R={};return u(w)?R[D]=w:R[D]=h+"("+w+"% - "+x+"px)",R},L=function(D,w){var x;return x={},x[D]=w+"px",x},M=function(D,w){if(w===void 0&&(w={}),e)return{};var x=D,R,X,j,G,ie,U;Array.from&&(x=Array.from(x));var ge=f(x[0]),pe=ge.parentNode,ke=getComputedStyle?getComputedStyle(pe):null,B=ke?ke.flexDirection:null,he=m(w,"sizes")||x.map(function(){return 100/x.length}),J=m(w,"minSize",100),ve=Array.isArray(J)?J:x.map(function(){return J}),$e=m(w,"maxSize",1/0),Ue=Array.isArray($e)?$e:x.map(function(){return $e}),tt=m(w,"expandToMin",!1),pt=m(w,"gutterSize",10),Zt=m(w,"gutterAlign","center"),Oe=m(w,"snapOffset",30),rn=Array.isArray(Oe)?Oe:x.map(function(){return Oe}),nn=m(w,"dragInterval",1),sn=m(w,"direction",c),ci=m(w,"cursor",sn===c?"col-resize":"row-resize"),bs=m(w,"gutter",v),Xi=m(w,"elementStyle",k),di=m(w,"gutterStyle",L);sn===c?(R="width",X="clientX",j="left",G="right",ie="clientWidth"):sn==="vertical"&&(R="height",X="clientY",j="top",G="bottom",ie="clientHeight");function kn(se,Y,ne,me){var qe=Xi(R,Y,ne,me);Object.keys(qe).forEach(function(Ne){se.style[Ne]=qe[Ne]})}function hi(se,Y,ne){var me=di(R,Y,ne);Object.keys(me).forEach(function(qe){se.style[qe]=me[qe]})}function Se(){return U.map(function(se){return se.size})}function Et(se){return"touches"in se?se.touches[0][X]:se[X]}function we(se){var Y=U[this.a],ne=U[this.b],me=Y.size+ne.size;Y.size=se/this.size*me,ne.size=me-se/this.size*me,kn(Y.element,Y.size,this[a],Y.i),kn(ne.element,ne.size,this[l],ne.i)}function on(se){var Y,ne=U[this.a],me=U[this.b];this.dragging&&(Y=Et(se)-this.start+(this[a]-this.dragOffset),nn>1&&(Y=Math.round(Y/nn)*nn),Y<=ne.minSize+ne.snapOffset+this[a]?Y=ne.minSize+this[a]:Y>=this.size-(me.minSize+me.snapOffset+this[l])&&(Y=this.size-(me.minSize+this[l])),Y>=ne.maxSize-ne.snapOffset+this[a]?Y=ne.maxSize+this[a]:Y<=this.size-(me.maxSize-me.snapOffset+this[l])&&(Y=this.size-(me.maxSize+this[l])),we.call(this,Y),m(w,"onDrag",d)(Se()))}function He(){var se=U[this.a].element,Y=U[this.b].element,ne=se[s](),me=Y[s]();this.size=ne[R]+me[R]+this[a]+this[l],this.start=ne[j],this.end=ne[G]}function jt(se){if(!getComputedStyle)return null;var Y=getComputedStyle(se);if(!Y)return null;var ne=se[ie];return ne===0?null:(sn===c?ne-=parseFloat(Y.paddingLeft)+parseFloat(Y.paddingRight):ne-=parseFloat(Y.paddingTop)+parseFloat(Y.paddingBottom),ne)}function an(se){var Y=jt(pe);if(Y===null||ve.reduce(function(Ne,Ge){return Ne+Ge},0)>Y)return se;var ne=0,me=[],qe=se.map(function(Ne,Ge){var vt=Y*Ne/100,tr=g(pt,Ge===0,Ge===se.length-1,Zt),ln=ve[Ge]+tr;return vt0&&me[Ge]-ne>0){var tr=Math.min(ne,me[Ge]-ne);ne-=tr,vt=Ne-tr}return vt/Y*100})}function mt(){var se=this,Y=U[se.a].element,ne=U[se.b].element;se.dragging&&m(w,"onDragEnd",d)(Se()),se.dragging=!1,r[i]("mouseup",se.stop),r[i]("touchend",se.stop),r[i]("touchcancel",se.stop),r[i]("mousemove",se.move),r[i]("touchmove",se.move),se.stop=null,se.move=null,Y[i]("selectstart",d),Y[i]("dragstart",d),ne[i]("selectstart",d),ne[i]("dragstart",d),Y.style.userSelect="",Y.style.webkitUserSelect="",Y.style.MozUserSelect="",Y.style.pointerEvents="",ne.style.userSelect="",ne.style.webkitUserSelect="",ne.style.MozUserSelect="",ne.style.pointerEvents="",se.gutter.style.cursor="",se.parent.style.cursor="",t.body.style.cursor=""}function Nn(se){if(!("button"in se&&se.button!==0)){var Y=this,ne=U[Y.a].element,me=U[Y.b].element;Y.dragging||m(w,"onDragStart",d)(Se()),se.preventDefault(),Y.dragging=!0,Y.move=on.bind(Y),Y.stop=mt.bind(Y),r[n]("mouseup",Y.stop),r[n]("touchend",Y.stop),r[n]("touchcancel",Y.stop),r[n]("mousemove",Y.move),r[n]("touchmove",Y.move),ne[n]("selectstart",d),ne[n]("dragstart",d),me[n]("selectstart",d),me[n]("dragstart",d),ne.style.userSelect="none",ne.style.webkitUserSelect="none",ne.style.MozUserSelect="none",ne.style.pointerEvents="none",me.style.userSelect="none",me.style.webkitUserSelect="none",me.style.MozUserSelect="none",me.style.pointerEvents="none",Y.gutter.style.cursor=ci,Y.parent.style.cursor=ci,t.body.style.cursor=ci,He.call(Y),Y.dragOffset=Et(se)-Y.end}}he=an(he);var Xt=[];U=x.map(function(se,Y){var ne={element:f(se),size:he[Y],minSize:ve[Y],maxSize:Ue[Y],snapOffset:rn[Y],i:Y},me;if(Y>0&&(me={a:Y-1,b:Y,dragging:!1,direction:sn,parent:pe},me[a]=g(pt,Y-1===0,!1,Zt),me[l]=g(pt,!1,Y===x.length-1,Zt),B==="row-reverse"||B==="column-reverse")){var qe=me.a;me.a=me.b,me.b=qe}if(Y>0){var Ne=bs(Y,sn,ne.element);hi(Ne,pt,Y),me[o]=Nn.bind(me),Ne[n]("mousedown",me[o]),Ne[n]("touchstart",me[o]),pe.insertBefore(Ne,ne.element),me.gutter=Ne}return kn(ne.element,ne.size,g(pt,Y===0,Y===x.length-1,Zt),Y),Y>0&&Xt.push(me),ne});function $n(se){var Y=se.i===Xt.length,ne=Y?Xt[se.i-1]:Xt[se.i];He.call(ne);var me=Y?ne.size-se.minSize-ne[l]:se.minSize+ne[a];we.call(ne,me)}U.forEach(function(se){var Y=se.element[s]()[R];Y0){var qe=Xt[me-1],Ne=U[qe.a],Ge=U[qe.b];Ne.size=Y[me-1],Ge.size=ne,kn(Ne.element,Ne.size,qe[a],Ne.i),kn(Ge.element,Ge.size,qe[l],Ge.i)}})}function yt(se,Y){Xt.forEach(function(ne){if(Y!==!0?ne.parent.removeChild(ne.gutter):(ne.gutter[i]("mousedown",ne[o]),ne.gutter[i]("touchstart",ne[o])),se!==!0){var me=Xi(R,ne.a.size,ne[a]);Object.keys(me).forEach(function(qe){U[ne.a].element.style[qe]="",U[ne.b].element.style[qe]=""})}})}return{setSizes:jn,getSizes:Se,collapse:function(Y){$n(U[Y])},destroy:yt,parent:pe,pairs:Xt}};return M}))});var Ib=Gu((kj,cT)=>{"use strict";function YQ(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t2?n-2:0),s=2;s1?t-1:0),i=1;i1?t-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:sc;if(FQ&&FQ(r,null),!va(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(PX(e)||(e[n]=s),i=s)}r[i]=!0}return r}function RX(r){for(let e=0;e/g),zX=Ft(/\${[\w\W]*/g),WX=Ft(/^data-[\-\w.\u00B7-\uFFFF]+$/),BX=Ft(/^aria-[\-\w]+$/),tT=Ft(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),VX=Ft(/^(?:\w+script|data):/i),YX=Ft(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),FX=Ft(/^html$/i),NX=Ft(/^[a-z][.\w]*(-[.\w]+)+$/i),rT=Ft(/<[/\w!]/g),nT=Ft(/<[/\w]/g),jX=Ft(/<\/no(script|embed|frames)/i),UX=Ft(/\/>/i),Jr={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},aT=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],qX=It(Ye({},aT)),GX=(function(){let r={};return fo(aT,e=>{r[e]=Ft(new RegExp("])","i"))}),It(r)})(),HX=function(){return typeof window=="undefined"?null:window},KX=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));let s="dompurify"+(n?"#"+n:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},iT=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ms=function(e,t,n,i){return Mr(e,t)&&va(e[t])?Ye(i.base?en(i.base):{},e[t],i.transform):n},Mb=function(e,t,n){let i=Mr(e,t)?e[t]:void 0;return i&&typeof i=="object"?en(i):n()};function lT(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:HX(),e=C=>lT(C);if(e.version="3.4.15",e.removed=[],!r||!r.document||r.document.nodeType!==Jr.document||!r.Element)return e.isSupported=!1,e;let t=r.document,n=t,i=n.currentScript;r.DocumentFragment;let s=r.HTMLTemplateElement,o=r.Node,a=r.Element,l=r.NodeFilter,c=r.NamedNodeMap;c===void 0&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let d=r.DOMParser,h=r.trustedTypes,u=a.prototype,f=wn(u,"cloneNode"),m=wn(u,"remove"),g=wn(u,"removeAttributeNode"),v=wn(u,"nextSibling"),k=wn(u,"childNodes"),L=wn(u,"parentNode"),M=wn(u,"shadowRoot"),D=wn(u,"attributes"),w=o&&o.prototype?wn(o.prototype,"nodeType"):null,x=o&&o.prototype?wn(o.prototype,"nodeName"):null,R=o&&o.prototype?wn(o.prototype,"ownerDocument"):null,X=function(p){return w?w(p):p.nodeType},j=function(p){return x?x(p):p.nodeName};if(typeof s=="function"){let C=t.createElement("template");C.content&&C.content.ownerDocument&&(t=C.content.ownerDocument)}let G,ie="",U,ge=!1,pe=0,ke=function(){if(pe>0)throw uo('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},B=function(p){ke(),pe++;try{return G.createHTML(p)}finally{pe--}},he=function(p){ke(),pe++;try{return G.createScriptURL(p)}finally{pe--}},J=function(){return ge||(U=KX(h,i),ge=!0),U},ve=t,$e=ve.implementation,Ue=ve.createNodeIterator,tt=ve.createDocumentFragment,pt=ve.getElementsByTagName,Zt=n.importNode,Oe=iT();e.isSupported=typeof sT=="function"&&typeof L=="function"&&$e&&$e.createHTMLDocument!==void 0;let rn=ZX,nn=XX,sn=zX,ci=WX,bs=BX,Xi=VX,di=YX,kn=NX,hi=tT,Se=null,Et=Ye({},[...HQ,...Ab,...Cb,...Eb,...KQ]),we=null,on=Ye({},[...JQ,...Rb,...eT,..._u]),He=Object.seal(Sa(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),jt=null,an=null,mt=Object.seal(Sa(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Nn=!0,Xt=!0,$n=!1,jn=!0,yt=!1,se=!0,Y=!1,ne=!1,me=null,qe=null,Ne=!1,Ge=!1,vt=!1,tr=!1,ln=!0,ui=!1,zi="user-content-",fi=!0,rr=!1,fr={},pr=null,Wi=Ye({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),ys=null,Ss=Ye({},["audio","video","img","source","image","track"]),vs=null,xs=Ye({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Qn="http://www.w3.org/1998/Math/MathML",Tn="http://www.w3.org/2000/svg",Ot="http://www.w3.org/1999/xhtml",mr=Ot,pi=!1,mi=null,bo=Ye({},[Qn,Tn,Ot],_b),ws=It(["mi","mo","mn","ms","mtext"]),Oi=Ye({},ws),Ps=It(["annotation-xml"]),gi=Ye({},Ps),$a=Ye({},["title","style","font","a","script"]),Dr=null,Qa=["application/xhtml+xml","text/html"],Ta="text/html",_e=null,Or=null,_a=t.createElement("form"),ks=function(p){return p instanceof RegExp||p instanceof Function},bi=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Or&&Or===p)return;(!p||typeof p!="object")&&(p={}),p=en(p),Dr=Qa.indexOf(p.PARSER_MEDIA_TYPE)===-1?Ta:p.PARSER_MEDIA_TYPE,_e=Dr==="application/xhtml+xml"?_b:sc,Se=ms(p,"ALLOWED_TAGS",Et,{transform:_e}),we=ms(p,"ALLOWED_ATTR",on,{transform:_e}),mi=ms(p,"ALLOWED_NAMESPACES",bo,{transform:_b}),vs=ms(p,"ADD_URI_SAFE_ATTR",xs,{transform:_e,base:xs}),ys=ms(p,"ADD_DATA_URI_TAGS",Ss,{transform:_e,base:Ss}),pr=ms(p,"FORBID_CONTENTS",Wi,{transform:_e}),jt=ms(p,"FORBID_TAGS",en({}),{transform:_e}),an=ms(p,"FORBID_ATTR",en({}),{transform:_e}),fr=Mr(p,"USE_PROFILES")?p.USE_PROFILES&&typeof p.USE_PROFILES=="object"?en(p.USE_PROFILES):p.USE_PROFILES:!1,Nn=p.ALLOW_ARIA_ATTR!==!1,Xt=p.ALLOW_DATA_ATTR!==!1,$n=p.ALLOW_UNKNOWN_PROTOCOLS||!1,jn=p.ALLOW_SELF_CLOSE_IN_ATTR!==!1,yt=p.SAFE_FOR_TEMPLATES||!1,se=p.SAFE_FOR_XML!==!1,Y=p.WHOLE_DOCUMENT||!1,Ge=p.RETURN_DOM||!1,vt=p.RETURN_DOM_FRAGMENT||!1,tr=p.RETURN_TRUSTED_TYPE||!1,Ne=p.FORCE_BODY||!1,ln=p.SANITIZE_DOM!==!1,ui=p.SANITIZE_NAMED_PROPS||!1,fi=p.KEEP_CONTENT!==!1,rr=p.IN_PLACE||!1,hi=LX(p.ALLOWED_URI_REGEXP)?p.ALLOWED_URI_REGEXP:tT,mr=typeof p.NAMESPACE=="string"?p.NAMESPACE:Ot,Oi=Mb(p,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ye({},ws)),gi=Mb(p,"HTML_INTEGRATION_POINTS",()=>Ye({},Ps));let b=Mb(p,"CUSTOM_ELEMENT_HANDLING",()=>Sa(null));if(He=Sa(null),Mr(b,"tagNameCheck")&&ks(b.tagNameCheck)&&(He.tagNameCheck=b.tagNameCheck),Mr(b,"attributeNameCheck")&&ks(b.attributeNameCheck)&&(He.attributeNameCheck=b.attributeNameCheck),Mr(b,"allowCustomizedBuiltInElements")&&typeof b.allowCustomizedBuiltInElements=="boolean"&&(He.allowCustomizedBuiltInElements=b.allowCustomizedBuiltInElements),Ft(He),yt&&(Xt=!1),vt&&(Ge=!0),fr&&(Se=Ye({},KQ),we=Sa(null),fr.html===!0&&(Ye(Se,HQ),Ye(we,JQ)),fr.svg===!0&&(Ye(Se,Ab),Ye(we,Rb),Ye(we,_u)),fr.svgFilters===!0&&(Ye(Se,Cb),Ye(we,Rb),Ye(we,_u)),fr.mathMl===!0&&(Ye(Se,Eb),Ye(we,eT),Ye(we,_u))),mt.tagCheck=null,mt.attributeCheck=null,Mr(p,"ADD_TAGS")&&(typeof p.ADD_TAGS=="function"?mt.tagCheck=p.ADD_TAGS:va(p.ADD_TAGS)&&(Se===Et&&(Se=en(Se)),Ye(Se,p.ADD_TAGS,_e))),Mr(p,"ADD_ATTR")&&(typeof p.ADD_ATTR=="function"?mt.attributeCheck=p.ADD_ATTR:va(p.ADD_ATTR)&&(we===on&&(we=en(we)),Ye(we,p.ADD_ATTR,_e))),Mr(p,"ADD_FORBID_CONTENTS")&&va(p.ADD_FORBID_CONTENTS)&&(pr===Wi&&(pr=en(pr)),Ye(pr,p.ADD_FORBID_CONTENTS,_e)),fi&&(Se["#text"]=!0),Y&&Ye(Se,["html","head","body"]),Se.table&&(Ye(Se,["tbody"]),delete jt.tbody),p.TRUSTED_TYPES_POLICY){if(typeof p.TRUSTED_TYPES_POLICY.createHTML!="function")throw uo('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof p.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw uo('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=G;G=p.TRUSTED_TYPES_POLICY;try{ie=B("")}catch(I){throw G=T,I}}else p.TRUSTED_TYPES_POLICY===null?(G=void 0,ie=""):(G===void 0&&(G=J()),G&&typeof ie=="string"&&(ie=B("")));It&&It(p),Or=p},$s=Ye({},[...Ab,...Cb,...DX]),Qs=Ye({},[...Eb,...IX]),yo=function(p,b,T){return b.namespaceURI===Ot?p==="svg":b.namespaceURI===Qn?p==="svg"&&(T==="annotation-xml"||Oi[T]):!!$s[p]},yi=function(p,b,T){return b.namespaceURI===Ot?p==="math":b.namespaceURI===Tn?p==="math"&&gi[T]:!!Qs[p]},So=function(p,b,T){return b.namespaceURI===Tn&&!gi[T]||b.namespaceURI===Qn&&!Oi[T]?!1:!Qs[p]&&($a[p]||!$s[p])},Un=function(p){let b=L(p);(!b||!b.tagName)&&(b={namespaceURI:mr,tagName:"template"});let T=sc(p.tagName),I=sc(b.tagName);return mi[p.namespaceURI]?p.namespaceURI===Tn?yo(T,b,I):p.namespaceURI===Qn?yi(T,b,I):p.namespaceURI===Ot?So(T,b,I):!!(Dr==="application/xhtml+xml"&&mi[p.namespaceURI]):!1},Rt=function(p){rc(e.removed,{element:p});try{L(p).removeChild(p)}catch(b){if(m(p),!L(p))throw uo("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},qn=function(p,b,T){try{g(p,b)}catch(I){try{p.removeAttribute(T)}catch(V){}}},Ir=function(p){Zr(p);let b=k(p);if(b){let I=[];fo(b,V=>{rc(I,V)}),fo(I,V=>{try{m(V)}catch(H){}})}let T=D(p);if(T)for(let I=T.length-1;I>=0;--I){let V=T[I],H=V&&V.name;typeof H=="string"&&qn(p,V,H)}},Ut=function(p,b,T){if(!T)try{T=b.getAttributeNode(p)}catch(I){T=null}rc(e.removed,{attribute:T||null,from:b});try{T?g(b,T):b.removeAttribute(p)}catch(I){try{b.removeAttribute(p)}catch(V){}}if(p==="is")if(Ge||vt)try{Rt(b)}catch(I){}else try{b.setAttribute(p,"")}catch(I){}},Aa=function(p){let b=D(p);if(b)for(let T=b.length-1;T>=0;--T){let I=b[T],V=I&&I.name;typeof V!="string"||we[_e(V)]||qn(p,I,V)}},Zr=function(p){let b=[p];for(;b.length>0;){let T=b.pop();X(T)===Jr.element&&Aa(T);let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},Ts=function(p,b){return se?p==="patchsrc"?!0:p==="for"&&b!=="label"&&b!=="output":!1},Ca=function(p){if(!se)return;let b=[p];for(;b.length>0;){let T=b.pop(),I=X(T);if(I===Jr.processingInstruction||I===Jr.comment&&ur(nT,T.data)){try{m(T)}catch(H){}continue}if(I===Jr.element){let H=T,Pe=_e(j(T));try{H.hasAttribute&&H.hasAttribute("patchsrc")&&H.removeAttribute("patchsrc"),H.hasAttribute&&H.hasAttribute("for")&&Ts("for",Pe)&&H.removeAttribute("for")}catch(Qe){}}let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},y=function(p){let b=null,T=null;if(Ne)p=""+p;else{let H=jQ(p,/^[\r\n\t ]+/);T=H&&H[0]}Dr==="application/xhtml+xml"&&mr===Ot&&(p=''+p+"");let I=G?B(p):p;if(mr===Ot)try{b=new d().parseFromString(I,Dr)}catch(H){}if(!b||!b.documentElement){b=$e.createDocument(mr,"template",null);try{b.documentElement.innerHTML=pi?ie:I}catch(H){}}let V=b.body||b.documentElement;return p&&T&&V.insertBefore(t.createTextNode(T),V.childNodes[0]||null),mr===Ot?pt.call(b,Y?"html":"body")[0]:Y?b.documentElement:V},Q=function(p){let b=R?R(p):p.ownerDocument;return Ue.call(b||p,p,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},S=function(p){return p=nc(p,rn," "),p=nc(p,nn," "),p=nc(p,sn," "),p},A=function(p){var b;p.normalize();let T=R?R(p):p.ownerDocument,I=Ue.call(T||p,p,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),V=I.nextNode();for(;V;)V.data=S(V.data),V=I.nextNode();let H=(b=p.querySelectorAll)===null||b===void 0?void 0:b.call(p,"template");H&&fo(H,Pe=>{_(Pe.content)&&A(Pe.content)})},E=function(p){let b=x?x(p):null;return typeof b!="string"||_e(b)!=="form"?!1:typeof p.nodeName!="string"||typeof p.textContent!="string"||typeof p.removeChild!="function"||p.attributes!==D(p)||typeof p.removeAttribute!="function"||typeof p.removeAttributeNode!="function"||typeof p.getAttributeNode!="function"||typeof p.setAttribute!="function"||typeof p.namespaceURI!="string"||typeof p.insertBefore!="function"||typeof p.hasChildNodes!="function"||p.nodeType!==w(p)||p.childNodes!==k(p)},_=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return w(p)===Jr.documentFragment}catch(b){return!1}},z=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return typeof w(p)=="number"}catch(b){return!1}};function W(C,p,b){C.length!==0&&fo(C,T=>{T.call(e,p,b,Or)})}let K=function(p,b){return!!(se&&p.hasChildNodes()&&!z(p.firstElementChild)&&ur(rT,p.textContent)&&ur(rT,p.innerHTML)||se&&p.namespaceURI===Ot&&qX[b]&&(z(p.firstElementChild)||typeof p.textContent=="string"&&ur(GX[b],p.textContent))||p.nodeType===Jr.processingInstruction||se&&p.nodeType===Jr.comment&&ur(nT,p.data))},q=function(p,b){if(p instanceof RegExp)return ur(p,b);if(p instanceof Function){for(var T=arguments.length,I=new Array(T>2?T-2:0),V=2;V=0;--Pe){let Qe=p===T?f(V[Pe],!0):V[Pe];I.insertBefore(Qe,v(p))}}}return Rt(p),!0},ue=function(p,b,T,I){return p.length===0?b:b===T||b===I?en(b):b},Ae=function(p,b){return p===b||L(p)!==null?!1:(rr&&Zr(p),!0)},Ie=function(p,b){if(W(Oe.beforeSanitizeElements,p,null),Ae(p,b))return!0;if(E(p))return Rt(p),!0;let T=_e(j(p));if(Se=ue(Oe.uponSanitizeElement,Se,Et,me),W(Oe.uponSanitizeElement,p,{tagName:T,allowedTags:Se}),Ae(p,b))return!0;if(K(p,T))return Rt(p),!0;if(jt[T]||!(mt.tagCheck instanceof Function&&mt.tagCheck(T))&&!Se[T]){let V=re(p,T,b);return V===!1&&W(Oe.afterSanitizeElements,p,null),V}if(X(p)===Jr.element&&!Un(p)||(T==="noscript"||T==="noembed"||T==="noframes")&&ur(jX,p.innerHTML))return Rt(p),!0;if(yt&&p.nodeType===Jr.text){let V=S(p.textContent);p.textContent!==V&&(rc(e.removed,{element:p.cloneNode()}),p.textContent=V)}return W(Oe.afterSanitizeElements,p,null),!1},Xe=function(p,b,T){if(an[b]||Ts(b,p)||ln&&(b==="id"||b==="name")&&(T in t||T in _a))return!1;let I=we[b]||mt.attributeCheck instanceof Function&&mt.attributeCheck(b,p);return Xt&&ur(ci,b)||Nn&&ur(bs,b)?!0:I?vs[b]||ur(hi,nc(T,di,""))||(b==="src"||b==="xlink:href"||b==="href")&&p!=="script"&&UQ(T,"data:")===0&&ys[p]||$n&&!ur(Xi,nc(T,di,""))?!0:!T:nt(p)&&q(He.tagNameCheck,p)&&q(He.attributeNameCheck,b,p)||b==="is"&&He.allowCustomizedBuiltInElements&&q(He.tagNameCheck,T)},ht=Ye({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),nt=function(p){return!ht[sc(p)]&&ur(kn,p)},nr=function(p,b,T,I){if(G&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!T)switch(h.getAttributeType(p,b)){case"TrustedHTML":return B(I);case"TrustedScriptURL":return he(I)}return I},Si=function(p,b,T,I){try{return T?p.setAttributeNS(T,b,I):p.setAttribute(b,I),E(p)?(Rt(p),!1):!0}catch(V){return Ut(b,p),!1}},vi=function(p){W(Oe.beforeSanitizeAttributes,p,null);let b=p.attributes;if(!b||E(p))return;we=ue(Oe.uponSanitizeAttribute,we,on,qe);let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0},I=b.length,V=_e(p.nodeName);for(;I--;){let H=b[I],Pe=H.name,Qe=H.namespaceURI,Ke=H.value,Je=_e(Pe),_s=Ke,je=Pe==="value"?_s:_X(_s),Ea=!1;if(T.attrName=Je,T.attrValue=je,T.keepAttr=!0,T.forceKeepAttr=void 0,W(Oe.uponSanitizeAttribute,p,T),je=T.attrValue,ui&&(Je==="id"||Je==="name")&&UQ(je,zi)!==0&&(Ut(Pe,p,H),je=zi+je,Ea=!0),se&&ur(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,je)){Ut(Pe,p,H);continue}if(Je==="attributename"&&jQ(je,"href")){Ut(Pe,p,H);continue}if(!T.forceKeepAttr){if(!T.keepAttr){Ut(Pe,p,H);continue}if(!jn&&ur(UX,je)){Ut(Pe,p,H);continue}if(yt&&(je=S(je)),!Xe(V,Je,je)){Ut(Pe,p,H);continue}je=nr(V,Je,Qe,je),je!==_s&&Si(p,Pe,Qe,je)&&Ea&&NQ(e.removed)}}W(Oe.afterSanitizeAttributes,p,null)},_n=function(p){let b=null,T=Q(p);for(W(Oe.beforeSanitizeShadowDOM,p,null);b=T.nextNode();)if(W(Oe.uponSanitizeShadowNode,b,null),Ie(b,p),vi(b),_(b.content)&&_n(b.content),X(b)===Jr.element){let I=M(b);_(I)&&(An(I),_n(I))}W(Oe.afterSanitizeShadowDOM,p,null)},An=function(p){let b=[{node:p,shadow:null}];for(;b.length>0;){let T=b.pop();if(T.shadow){_n(T.shadow);continue}let I=T.node,H=X(I)===Jr.element,Pe=k(I);if(Pe)for(let Qe=Pe.length-1;Qe>=0;--Qe)b.push({node:Pe[Qe],shadow:null});if(H){let Qe=x?x(I):null;if(typeof Qe=="string"&&_e(Qe)==="template"){let Ke=I.content;_(Ke)&&b.push({node:Ke,shadow:null})}}if(H){let Qe=M(I);_(Qe)&&b.push({node:null,shadow:Qe},{node:Qe,shadow:null})}}};return e.sanitize=function(C){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=null,T=null,I=null,V=null;if(pi=!C,pi&&(C=""),typeof C!="string"&&!z(C)&&(C=MX(C),typeof C!="string"))throw uo("dirty is not a string, aborting");if(!e.isSupported)return C;ne?(Se=me,we=qe):bi(p),(Oe.uponSanitizeElement.length>0||Oe.uponSanitizeAttribute.length>0)&&(Se=en(Se)),Oe.uponSanitizeAttribute.length>0&&(we=en(we)),e.removed=[];let H=rr&&typeof C!="string"&&z(C);if(H){Ca(C);let Ke=j(C);if(typeof Ke=="string"){let Je=_e(Ke);if(!Se[Je]||jt[Je])throw Ir(C),uo("root node is forbidden and cannot be sanitized in-place")}if(E(C))throw Ir(C),uo("root node is clobbered and cannot be sanitized in-place");try{An(C)}catch(Je){throw Ir(C),Je}}else if(z(C))b=y(""),T=b.ownerDocument.importNode(C,!0),T.nodeType===Jr.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?b=T:b.appendChild(T),An(b);else{if(!Ge&&!yt&&!Y&&C.indexOf("<")===-1)return G&&tr?B(C):C;if(b=y(C),!b)return Ge?null:tr?ie:""}b&&Ne&&Rt(b.firstChild);let Pe=H?C:b;try{let Ke=Q(Pe);for(;I=Ke.nextNode();)Ie(I,Pe),vi(I),_(I.content)&&_n(I.content)}catch(Ke){throw H&&(Ir(C),fo(e.removed,Je=>{Je.element&&Zr(Je.element)})),Ke}if(H)return fo(e.removed,Ke=>{Ke.element&&Zr(Ke.element)}),yt&&A(C),C;if(Ge){if(yt&&A(b),vt)for(V=tt.call(b.ownerDocument);b.firstChild;)V.appendChild(b.firstChild);else V=b;return(we.shadowroot||we.shadowrootmode)&&(V=Zt.call(n,V,!0)),V}let Qe=Y?b.outerHTML:b.innerHTML;return Y&&Se["!doctype"]&&b.ownerDocument&&b.ownerDocument.doctype&&b.ownerDocument.doctype.name&&ur(FX,b.ownerDocument.doctype.name)&&(Qe=" +`+Qe),yt&&(Qe=S(Qe)),G&&tr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&Mr(Oe,C)&&rc(Oe[C],p)},e.removeHook=function(C,p){if(Mr(Oe,C)){if(p!==void 0){let b=QX(Oe[C],p);return b===-1?void 0:TX(Oe[C],b,1)[0]}return NQ(Oe[C])}},e.removeHooks=function(C){Mr(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=iT()},e}var JX=lT();cT.exports=JX});var qb=Hu(af());var Es="\u2190\u2191\u2193\u2192";var wc=[{keys:[Es],action:"Joypad"},{keys:["Space"],action:"Button A"},{keys:["Shift"],action:"Button B"}],lf=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button 1"},{keys:["Shift"],action:"Button 2"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"}],xc=[...wc,{keys:["\\"],action:"Select"},{keys:["Enter"],action:"Start"}],m0=[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Button"}],O0={vcs:m0,c64:m0,apple2:[{keys:["Mouse"],action:"Paddles/Joystick"},{keys:["Click"],action:"Button 1"},{keys:["SHIFT-Click"],action:"Button 2"},{keys:["ALT-Click"],action:"Button 3"}],nes:xc,atari7800:xc,pce:xc,gb:xc,msx:wc,coleco:wc,sms:[...wc,{keys:["Enter"],action:"Start"}],vicdual:lf,galaxian:lf,vector:lf,mw8080bw:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"}],williams:[{keys:["A W S D"],action:"Move"},{keys:[Es],action:"Fire"},{keys:["\\"],action:"Coin"},{keys:["Enter"],action:"Start"},{keys:["6 7 8 9"],action:"Extra"}],astrocade:[{keys:[Es],action:"Joystick"},{keys:["Space"],action:"Trigger"},{keys:["Mouse X"],action:"Knob"},{keys:[`U I O P J K L / 7 8 9 X 4 5 6 - 1 2 3 , -\\ 0 . =`],action:"Keypad"}],vectrex:[{keys:[Es],action:"Joystick"},{keys:["Z X C V"],action:"Buttons"}],atari8:[{keys:[Es],action:"Joystick"},{keys:["Shift"],action:"Button"},{keys:["F1"],action:"Start"},{keys:["F2"],action:"Select"},{keys:["F3"],action:"Option"}],pacman:[{keys:["\u2190\xA0\u2192"],action:"Joystick"},{keys:["Space"],action:"Fire"},{keys:["5","6"],action:"Coin"},{keys:["Enter","2"],action:"Start"}]};var r_={left:"arrowleft",right:"arrowright",up:"arrowup",down:"arrowdown"},lf=null;function Po(){if(lf===null){var r=typeof navigator!="undefined"?navigator:null;lf=!!r&&/mac|iphone|ipad|ipod/i.test(r.platform||r.userAgent||"")}return lf}function df(r){var e=r.toLowerCase().split("+"),t=e.pop(),n={mod:!1,shift:!1,key:""};for(var i of e)if(i=="mod"||i=="ctrl"||i=="meta"||i=="cmd")n.mod=!0;else if(i=="shift")n.shift=!0;else return console.warn('Keyboard shortcut "'+r+'": unsupported modifier "'+i+'" (alt is layout-dependent), skipping'),null;t=r_[t]||t;var s=/^[a-z]$/.test(t),o=/^f([1-9]|1[0-2])$/.test(t);return!s&&!o&&!/^[0-9]$/.test(t)&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": key "'+t+'" is layout-dependent (use a-z, 0-9, f1-f12), skipping'),null):n.shift&&!s&&!/^arrow/.test(t)?(console.warn('Keyboard shortcut "'+r+'": shift is only allowed with letters and arrows, skipping'),null):(n.key=t,n)}function n_(r,e){if(e.altKey)return!1;var t=Po(),n=t?e.metaKey:e.ctrlKey,i=t?e.ctrlKey:e.metaKey;return r.mod!==n||i||r.shift!==e.shiftKey?!1:(e.key||"").toLowerCase()===r.key}var wc=class{constructor(){this.bindings=[];this.handler=e=>{if(!e.defaultPrevented)for(var t=0;te.indexOf(c)>=0);for(var o of e)s.indexOf(o)<0&&s.push(o);var a=s.map(c=>n?a_[c]||c:l_[c]||c).join(n?"":"+"),l=/^[a-z][0-9]?$/.test(t)?t.toUpperCase():c_[t]||(n?t:t.charAt(0).toUpperCase()+t.slice(1));return(a?a+(n?"":"+"):"")+l}var ff=class{constructor(e){this.shortcutsSig="";this.status={};this.visible=!0;this.pendingShortcuts=!1;this.pendingStatus=!1;this.div=e,this.shortcutsZone=$(document.createElement("span")).addClass("shortcuts_zone"),this.statusZone=$(document.createElement("span")).addClass("status_zone"),$(e).append(this.shortcutsZone).append(this.statusZone)}setShortcuts(e){if(this.visible){var t=e.map(s=>s.key+""+s.label).join("");if(t!==this.shortcutsSig){if(Da){this.pendingShortcuts=!0;return}this.shortcutsSig=t,this.shortcutsZone.empty();for(var n of e){var i=$(document.createElement("span")).addClass("shortcut");i.append($(document.createElement("kbd")).text(pf(n.key))),i.append(document.createTextNode(" "+n.label)),n.fn&&g0(i,n.fn),this.shortcutsZone.append(i)}}}}setStatus(e,t){t?this.status[e]=t:delete this.status[e],this.renderStatus()}renderStatus(){if(this.visible){if(Da){this.pendingStatus=!0;return}this.statusZone.empty();for(var e of Object.keys(this.status)){var t=this.status[e],n=$(document.createElement("span")).addClass("status_item");t.cls&&n.addClass(t.cls),t.title&&n.prop("title",t.title),n.text(t.text),t.fn&&g0(n,t.fn),this.statusZone.append(n)}}}};function g0(r,e){r.addClass("clickable"),r.mousedown(t=>t.preventDefault()),r.click(e)}var Da=!1;function b0(){Zr&&(Zr.pendingShortcuts&&(Zr.pendingShortcuts=!1,Xr()),Zr.pendingStatus&&(Zr.pendingStatus=!1,Zr.renderStatus()))}function d_(){$(document).on("mousedown.shortcutbar",()=>{Da=!0}),$(document).on("mouseup.shortcutbar",()=>{Da=!1,b0()}),$(window).on("blur.shortcutbar",()=>{Da=!1,b0()})}var Zr=null;function y0(r){Zr=new ff(r),d_()}var S0=()=>[],v0=()=>[];function x0(r){S0=r}function w0(r){v0=r}function Pc(r){$(document.body).toggleClass("statusbar-hidden",!r),Zr&&(Zr.visible=r,r&&(Zr.shortcutsSig="",Zr.renderStatus(),Xr()))}function Xr(){if(Zr){var r=[...S0(),...v0()],e=document.activeElement;for(var t of P0)e&&t.div.contains(e)&&(r=r.concat(t.fn()));Zr.setShortcuts(r.filter(n=>!h_(n.key)))}}var P0=[];function k0(r,e){P0.push({div:r,fn:e})}function h_(r){var e=r.toLowerCase();return!Po()&&(e=="mod+shift+i"||e=="mod+shift+j"||e=="mod+shift+k"||e=="ctrl+alt+t"||e=="ctrl+alt+l")}function u_(){return d0()}function f_(r){if(r._8bwPatched)return r;var e=r.stopCallback;return r.stopCallback=function(t,n,i,s){return t&&(t.ctrlKey||t.altKey||t.metaKey)?t.getModifierState&&t.getModifierState("AltGraph")?e.call(this,t,n,i,s):!1:e.call(this,t,n,i,s)},r._8bwPatched=!0,r}var Bi=class{constructor(e,t){this.boundkeys=[];let n=f_(u_());this.focusDiv=t,this.keybinder=new wc,this.keybinder.attach(),this.mousetrap=t?new n(t):n,this.span=$(document.createElement("span")).addClass("btn_toolbar"),e.appendChild(this.span[0]),this.newGroup()}destroy(){if(this.span&&(this.span.remove(),this.span=null),this.keybinder&&(this.keybinder.detach(),this.keybinder.unbindAll(),this.keybinder=null),this.mousetrap){for(var e of this.boundkeys)this.mousetrap.unbind(e);this.mousetrap=null}}newGroup(){return this.grp=$(document.createElement("span")).addClass("btn_group").appendTo(this.span).hide()}add(e,t,n,i){var s=null;return n&&(s=$(document.createElement("button")).addClass("btn"),n.startsWith("glyphicon")&&(n=''),s.html(n),s.prop("title",e?t+" ("+pf(e)+")":t),s.click(i),this.grp.append(s).show()),e&&(!this.focusDiv&&df(e)?this.keybinder.bind(e,i):(this.mousetrap.bind(e,(o,a)=>(i(o,a),!1)),this.boundkeys.push(e))),s}};var $0=[];function Q0(r,e){$0.push({div:r,id:e})}function T0(){let r=document.activeElement;if(!r)return null;for(let e of $0)if(e.div.contains(r))return e.id;return null}function zr(r){var e=r&&r.w+"px"||"100%",t=r&&r.h+"px"||"100%",n=this.itemHeight=r.itemHeight;this.items=r.items,this.generatorFn=r.generatorFn,this.totalRows=r.totalRows||r.items&&r.items.length;var i=zr.createScroller(n*this.totalRows);this.container=zr.createContainer(e,t),this.container.appendChild(i);var s=Math.ceil(r.h/n);this.cachedItemsLen=s*3,this._renderChunk(this.container,0);var o=this,a,l=s*n,c=0;this.rmNodeInterval=setInterval(function(){if(Date.now()-c>100)for(var h=document.querySelectorAll('[data-rm="1"]'),u=0,f=h.length;ul){var f=Math.floor(u/n)-s;o._renderChunk(o.container,f<0?0:f),a=u}c=Date.now(),h.preventDefault&&h.preventDefault()}this.container.addEventListener("scroll",d)}zr.prototype.createRow=function(r){var e;if(this.generatorFn)e=this.generatorFn(r);else if(this.items)if(typeof this.items[r]=="string"){var t=document.createTextNode(this.items[r]);e=document.createElement("div"),e.style.height=this.itemHeight+"px",e.appendChild(t)}else e=this.items[r];return e.classList.add("vrow"),e.setAttribute("data-index",""+r),e.style.position="absolute",e.style.top=r*this.itemHeight+"px",e};zr.prototype._renderChunk=function(r,e){var t=e+this.cachedItemsLen;t>this.totalRows&&(t=this.totalRows);for(var n=document.createDocumentFragment(),i=e;ir.length)&&(e=r.length);for(var t=0,n=Array(e);t2?n-2:0),s=2;s1?t-1:0),i=1;i1?t-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:za;if(A0&&A0(r,null),!$o(e))return r;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let s=t(i);s!==i&&(y_(e)||(e[n]=s),i=s)}r[i]=!0}return r}function T_(r){for(let e=0;e/g),L_=Wt(/\${[\w\W]*/g),D_=Wt(/^data-[\-\w.\u00B7-\uFFFF]+$/),I_=Wt(/^aria-[\-\w]+$/),z0=Wt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Z_=Wt(/^(?:\w+script|data):/i),X_=Wt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),z_=Wt(/^html$/i),W_=Wt(/^[a-z][.\w]*(-[.\w]+)+$/i),W0=Wt(/<[/\w!]/g),B0=Wt(/<[/\w]/g),B_=Wt(/<\/no(script|embed|frames)/i),V_=Wt(/\/>/i),Wr={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},N0=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],Y_=Mt(Ve({},N0)),F_=(function(){let r={};return Ms(N0,e=>{r[e]=Wt(new RegExp("])","i"))}),Mt(r)})(),N_=function(){return typeof window=="undefined"?null:window},j_=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));let s="dompurify"+(n?"#"+n:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch(o){return console.warn("TrustedTypes policy "+s+" could not be created."),null}},V0=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Vi=function(e,t,n,i){return $r(e,t)&&$o(e[t])?Ve(i.base?Br(i.base):{},e[t],i.transform):n},Sf=function(e,t,n){let i=$r(e,t)?e[t]:void 0;return i&&typeof i=="object"?Br(i):n()};function j0(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:N_(),e=C=>j0(C);if(e.version="3.4.15",e.removed=[],!r||!r.document||r.document.nodeType!==Wr.document||!r.Element)return e.isSupported=!1,e;let t=r.document,n=t,i=n.currentScript;r.DocumentFragment;let s=r.HTMLTemplateElement,o=r.Node,a=r.Element,l=r.NodeFilter,c=r.NamedNodeMap;c===void 0&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let d=r.DOMParser,h=r.trustedTypes,u=a.prototype,f=cn(u,"cloneNode"),m=cn(u,"remove"),g=cn(u,"removeAttributeNode"),v=cn(u,"nextSibling"),k=cn(u,"childNodes"),L=cn(u,"parentNode"),M=cn(u,"shadowRoot"),D=cn(u,"attributes"),w=o&&o.prototype?cn(o.prototype,"nodeType"):null,x=o&&o.prototype?cn(o.prototype,"nodeName"):null,R=o&&o.prototype?cn(o.prototype,"ownerDocument"):null,X=function(p){return w?w(p):p.nodeType},j=function(p){return x?x(p):p.nodeName};if(typeof s=="function"){let C=t.createElement("template");C.content&&C.content.ownerDocument&&(t=C.content.ownerDocument)}let G,ie="",U,ge=!1,pe=0,ke=function(){if(pe>0)throw Rs('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},B=function(p){ke(),pe++;try{return G.createHTML(p)}finally{pe--}},he=function(p){ke(),pe++;try{return G.createScriptURL(p)}finally{pe--}},J=function(){return ge||(U=j_(h,i),ge=!0),U},ve=t,$e=ve.implementation,Ue=ve.createNodeIterator,tt=ve.createDocumentFragment,pt=ve.getElementsByTagName,Zt=n.importNode,Oe=V0();e.isSupported=typeof Y0=="function"&&typeof L=="function"&&$e&&$e.createHTMLDocument!==void 0;let en=R_,tn=M_,rn=L_,ci=D_,bs=I_,Xi=Z_,di=X_,Pn=W_,hi=z0,Se=null,Et=Ve({},[...D0,...Of,...gf,...bf,...I0]),we=null,nn=Ve({},[...Z0,...yf,...X0,...kc]),He=Object.seal(ko(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Nt=null,sn=null,mt=Object.seal(ko(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Nn=!0,Xt=!0,kn=!1,jn=!0,yt=!1,se=!0,Y=!1,ne=!1,me=null,qe=null,Fe=!1,Ge=!1,vt=!1,tr=!1,on=!0,ui=!1,zi="user-content-",fi=!0,rr=!1,fr={},pr=null,Wi=Ve({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),ys=null,Ss=Ve({},["audio","video","img","source","image","track"]),vs=null,xs=Ve({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$n="http://www.w3.org/1998/Math/MathML",Qn="http://www.w3.org/2000/svg",Ot="http://www.w3.org/1999/xhtml",mr=Ot,pi=!1,mi=null,bo=Ve({},[$n,Qn,Ot],mf),ws=Mt(["mi","mo","mn","ms","mtext"]),Oi=Ve({},ws),Ps=Mt(["annotation-xml"]),gi=Ve({},Ps),ka=Ve({},["title","style","font","a","script"]),Lr=null,$a=["application/xhtml+xml","text/html"],Qa="text/html",_e=null,Or=null,Ta=t.createElement("form"),ks=function(p){return p instanceof RegExp||p instanceof Function},bi=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Or&&Or===p)return;(!p||typeof p!="object")&&(p={}),p=Br(p),Lr=$a.indexOf(p.PARSER_MEDIA_TYPE)===-1?Qa:p.PARSER_MEDIA_TYPE,_e=Lr==="application/xhtml+xml"?mf:za,Se=Vi(p,"ALLOWED_TAGS",Et,{transform:_e}),we=Vi(p,"ALLOWED_ATTR",nn,{transform:_e}),mi=Vi(p,"ALLOWED_NAMESPACES",bo,{transform:mf}),vs=Vi(p,"ADD_URI_SAFE_ATTR",xs,{transform:_e,base:xs}),ys=Vi(p,"ADD_DATA_URI_TAGS",Ss,{transform:_e,base:Ss}),pr=Vi(p,"FORBID_CONTENTS",Wi,{transform:_e}),Nt=Vi(p,"FORBID_TAGS",Br({}),{transform:_e}),sn=Vi(p,"FORBID_ATTR",Br({}),{transform:_e}),fr=$r(p,"USE_PROFILES")?p.USE_PROFILES&&typeof p.USE_PROFILES=="object"?Br(p.USE_PROFILES):p.USE_PROFILES:!1,Nn=p.ALLOW_ARIA_ATTR!==!1,Xt=p.ALLOW_DATA_ATTR!==!1,kn=p.ALLOW_UNKNOWN_PROTOCOLS||!1,jn=p.ALLOW_SELF_CLOSE_IN_ATTR!==!1,yt=p.SAFE_FOR_TEMPLATES||!1,se=p.SAFE_FOR_XML!==!1,Y=p.WHOLE_DOCUMENT||!1,Ge=p.RETURN_DOM||!1,vt=p.RETURN_DOM_FRAGMENT||!1,tr=p.RETURN_TRUSTED_TYPE||!1,Fe=p.FORCE_BODY||!1,on=p.SANITIZE_DOM!==!1,ui=p.SANITIZE_NAMED_PROPS||!1,fi=p.KEEP_CONTENT!==!1,rr=p.IN_PLACE||!1,hi=A_(p.ALLOWED_URI_REGEXP)?p.ALLOWED_URI_REGEXP:z0,mr=typeof p.NAMESPACE=="string"?p.NAMESPACE:Ot,Oi=Sf(p,"MATHML_TEXT_INTEGRATION_POINTS",()=>Ve({},ws)),gi=Sf(p,"HTML_INTEGRATION_POINTS",()=>Ve({},Ps));let b=Sf(p,"CUSTOM_ELEMENT_HANDLING",()=>ko(null));if(He=ko(null),$r(b,"tagNameCheck")&&ks(b.tagNameCheck)&&(He.tagNameCheck=b.tagNameCheck),$r(b,"attributeNameCheck")&&ks(b.attributeNameCheck)&&(He.attributeNameCheck=b.attributeNameCheck),$r(b,"allowCustomizedBuiltInElements")&&typeof b.allowCustomizedBuiltInElements=="boolean"&&(He.allowCustomizedBuiltInElements=b.allowCustomizedBuiltInElements),Wt(He),yt&&(Xt=!1),vt&&(Ge=!0),fr&&(Se=Ve({},I0),we=ko(null),fr.html===!0&&(Ve(Se,D0),Ve(we,Z0)),fr.svg===!0&&(Ve(Se,Of),Ve(we,yf),Ve(we,kc)),fr.svgFilters===!0&&(Ve(Se,gf),Ve(we,yf),Ve(we,kc)),fr.mathMl===!0&&(Ve(Se,bf),Ve(we,X0),Ve(we,kc))),mt.tagCheck=null,mt.attributeCheck=null,$r(p,"ADD_TAGS")&&(typeof p.ADD_TAGS=="function"?mt.tagCheck=p.ADD_TAGS:$o(p.ADD_TAGS)&&(Se===Et&&(Se=Br(Se)),Ve(Se,p.ADD_TAGS,_e))),$r(p,"ADD_ATTR")&&(typeof p.ADD_ATTR=="function"?mt.attributeCheck=p.ADD_ATTR:$o(p.ADD_ATTR)&&(we===nn&&(we=Br(we)),Ve(we,p.ADD_ATTR,_e))),$r(p,"ADD_FORBID_CONTENTS")&&$o(p.ADD_FORBID_CONTENTS)&&(pr===Wi&&(pr=Br(pr)),Ve(pr,p.ADD_FORBID_CONTENTS,_e)),fi&&(Se["#text"]=!0),Y&&Ve(Se,["html","head","body"]),Se.table&&(Ve(Se,["tbody"]),delete Nt.tbody),p.TRUSTED_TYPES_POLICY){if(typeof p.TRUSTED_TYPES_POLICY.createHTML!="function")throw Rs('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof p.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Rs('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=G;G=p.TRUSTED_TYPES_POLICY;try{ie=B("")}catch(I){throw G=T,I}}else p.TRUSTED_TYPES_POLICY===null?(G=void 0,ie=""):(G===void 0&&(G=J()),G&&typeof ie=="string"&&(ie=B("")));Mt&&Mt(p),Or=p},$s=Ve({},[...Of,...gf,...C_]),Qs=Ve({},[...bf,...E_]),yo=function(p,b,T){return b.namespaceURI===Ot?p==="svg":b.namespaceURI===$n?p==="svg"&&(T==="annotation-xml"||Oi[T]):!!$s[p]},yi=function(p,b,T){return b.namespaceURI===Ot?p==="math":b.namespaceURI===Qn?p==="math"&&gi[T]:!!Qs[p]},So=function(p,b,T){return b.namespaceURI===Qn&&!gi[T]||b.namespaceURI===$n&&!Oi[T]?!1:!Qs[p]&&(ka[p]||!$s[p])},Un=function(p){let b=L(p);(!b||!b.tagName)&&(b={namespaceURI:mr,tagName:"template"});let T=za(p.tagName),I=za(b.tagName);return mi[p.namespaceURI]?p.namespaceURI===Qn?yo(T,b,I):p.namespaceURI===$n?yi(T,b,I):p.namespaceURI===Ot?So(T,b,I):!!(Lr==="application/xhtml+xml"&&mi[p.namespaceURI]):!1},Rt=function(p){Ia(e.removed,{element:p});try{L(p).removeChild(p)}catch(b){if(m(p),!L(p))throw Rs("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},qn=function(p,b,T){try{g(p,b)}catch(I){try{p.removeAttribute(T)}catch(V){}}},Dr=function(p){Ir(p);let b=k(p);if(b){let I=[];Ms(b,V=>{Ia(I,V)}),Ms(I,V=>{try{m(V)}catch(H){}})}let T=D(p);if(T)for(let I=T.length-1;I>=0;--I){let V=T[I],H=V&&V.name;typeof H=="string"&&qn(p,V,H)}},jt=function(p,b,T){if(!T)try{T=b.getAttributeNode(p)}catch(I){T=null}Ia(e.removed,{attribute:T||null,from:b});try{T?g(b,T):b.removeAttribute(p)}catch(I){try{b.removeAttribute(p)}catch(V){}}if(p==="is")if(Ge||vt)try{Rt(b)}catch(I){}else try{b.setAttribute(p,"")}catch(I){}},_a=function(p){let b=D(p);if(b)for(let T=b.length-1;T>=0;--T){let I=b[T],V=I&&I.name;typeof V!="string"||we[_e(V)]||qn(p,I,V)}},Ir=function(p){let b=[p];for(;b.length>0;){let T=b.pop();X(T)===Wr.element&&_a(T);let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},Ts=function(p,b){return se?p==="patchsrc"?!0:p==="for"&&b!=="label"&&b!=="output":!1},Aa=function(p){if(!se)return;let b=[p];for(;b.length>0;){let T=b.pop(),I=X(T);if(I===Wr.processingInstruction||I===Wr.comment&&sr(B0,T.data)){try{m(T)}catch(H){}continue}if(I===Wr.element){let H=T,Pe=_e(j(T));try{H.hasAttribute&&H.hasAttribute("patchsrc")&&H.removeAttribute("patchsrc"),H.hasAttribute&&H.hasAttribute("for")&&Ts("for",Pe)&&H.removeAttribute("for")}catch(Qe){}}let V=k(T);if(V)for(let H=V.length-1;H>=0;--H)b.push(V[H])}},y=function(p){let b=null,T=null;if(Fe)p=""+p;else{let H=E0(p,/^[\r\n\t ]+/);T=H&&H[0]}Lr==="application/xhtml+xml"&&mr===Ot&&(p=''+p+"");let I=G?B(p):p;if(mr===Ot)try{b=new d().parseFromString(I,Lr)}catch(H){}if(!b||!b.documentElement){b=$e.createDocument(mr,"template",null);try{b.documentElement.innerHTML=pi?ie:I}catch(H){}}let V=b.body||b.documentElement;return p&&T&&V.insertBefore(t.createTextNode(T),V.childNodes[0]||null),mr===Ot?pt.call(b,Y?"html":"body")[0]:Y?b.documentElement:V},Q=function(p){let b=R?R(p):p.ownerDocument;return Ue.call(b||p,p,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},S=function(p){return p=Za(p,en," "),p=Za(p,tn," "),p=Za(p,rn," "),p},A=function(p){var b;p.normalize();let T=R?R(p):p.ownerDocument,I=Ue.call(T||p,p,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),V=I.nextNode();for(;V;)V.data=S(V.data),V=I.nextNode();let H=(b=p.querySelectorAll)===null||b===void 0?void 0:b.call(p,"template");H&&Ms(H,Pe=>{_(Pe.content)&&A(Pe.content)})},E=function(p){let b=x?x(p):null;return typeof b!="string"||_e(b)!=="form"?!1:typeof p.nodeName!="string"||typeof p.textContent!="string"||typeof p.removeChild!="function"||p.attributes!==D(p)||typeof p.removeAttribute!="function"||typeof p.removeAttributeNode!="function"||typeof p.getAttributeNode!="function"||typeof p.setAttribute!="function"||typeof p.namespaceURI!="string"||typeof p.insertBefore!="function"||typeof p.hasChildNodes!="function"||p.nodeType!==w(p)||p.childNodes!==k(p)},_=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return w(p)===Wr.documentFragment}catch(b){return!1}},z=function(p){if(!w||typeof p!="object"||p===null)return!1;try{return typeof w(p)=="number"}catch(b){return!1}};function W(C,p,b){C.length!==0&&Ms(C,T=>{T.call(e,p,b,Or)})}let K=function(p,b){return!!(se&&p.hasChildNodes()&&!z(p.firstElementChild)&&sr(W0,p.textContent)&&sr(W0,p.innerHTML)||se&&p.namespaceURI===Ot&&Y_[b]&&(z(p.firstElementChild)||typeof p.textContent=="string"&&sr(F_[b],p.textContent))||p.nodeType===Wr.processingInstruction||se&&p.nodeType===Wr.comment&&sr(B0,p.data))},q=function(p,b){if(p instanceof RegExp)return sr(p,b);if(p instanceof Function){for(var T=arguments.length,I=new Array(T>2?T-2:0),V=2;V=0;--Pe){let Qe=p===T?f(V[Pe],!0):V[Pe];I.insertBefore(Qe,v(p))}}}return Rt(p),!0},ue=function(p,b,T,I){return p.length===0?b:b===T||b===I?Br(b):b},Ae=function(p,b){return p===b||L(p)!==null?!1:(rr&&Ir(p),!0)},Ie=function(p,b){if(W(Oe.beforeSanitizeElements,p,null),Ae(p,b))return!0;if(E(p))return Rt(p),!0;let T=_e(j(p));if(Se=ue(Oe.uponSanitizeElement,Se,Et,me),W(Oe.uponSanitizeElement,p,{tagName:T,allowedTags:Se}),Ae(p,b))return!0;if(K(p,T))return Rt(p),!0;if(Nt[T]||!(mt.tagCheck instanceof Function&&mt.tagCheck(T))&&!Se[T]){let V=re(p,T,b);return V===!1&&W(Oe.afterSanitizeElements,p,null),V}if(X(p)===Wr.element&&!Un(p)||(T==="noscript"||T==="noembed"||T==="noframes")&&sr(B_,p.innerHTML))return Rt(p),!0;if(yt&&p.nodeType===Wr.text){let V=S(p.textContent);p.textContent!==V&&(Ia(e.removed,{element:p.cloneNode()}),p.textContent=V)}return W(Oe.afterSanitizeElements,p,null),!1},Xe=function(p,b,T){if(sn[b]||Ts(b,p)||on&&(b==="id"||b==="name")&&(T in t||T in Ta))return!1;let I=we[b]||mt.attributeCheck instanceof Function&&mt.attributeCheck(b,p);return Xt&&sr(ci,b)||Nn&&sr(bs,b)?!0:I?vs[b]||sr(hi,Za(T,di,""))||(b==="src"||b==="xlink:href"||b==="href")&&p!=="script"&&R0(T,"data:")===0&&ys[p]||kn&&!sr(Xi,Za(T,di,""))?!0:!T:nt(p)&&q(He.tagNameCheck,p)&&q(He.attributeNameCheck,b,p)||b==="is"&&He.allowCustomizedBuiltInElements&&q(He.tagNameCheck,T)},ht=Ve({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),nt=function(p){return!ht[za(p)]&&sr(Pn,p)},nr=function(p,b,T,I){if(G&&typeof h=="object"&&typeof h.getAttributeType=="function"&&!T)switch(h.getAttributeType(p,b)){case"TrustedHTML":return B(I);case"TrustedScriptURL":return he(I)}return I},Si=function(p,b,T,I){try{return T?p.setAttributeNS(T,b,I):p.setAttribute(b,I),E(p)?(Rt(p),!1):!0}catch(V){return jt(b,p),!1}},vi=function(p){W(Oe.beforeSanitizeAttributes,p,null);let b=p.attributes;if(!b||E(p))return;we=ue(Oe.uponSanitizeAttribute,we,nn,qe);let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:we,forceKeepAttr:void 0},I=b.length,V=_e(p.nodeName);for(;I--;){let H=b[I],Pe=H.name,Qe=H.namespaceURI,Ke=H.value,Je=_e(Pe),_s=Ke,Ne=Pe==="value"?_s:P_(_s),Ca=!1;if(T.attrName=Je,T.attrValue=Ne,T.keepAttr=!0,T.forceKeepAttr=void 0,W(Oe.uponSanitizeAttribute,p,T),Ne=T.attrValue,ui&&(Je==="id"||Je==="name")&&R0(Ne,zi)!==0&&(jt(Pe,p,H),Ne=zi+Ne,Ca=!0),se&&sr(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ne)){jt(Pe,p,H);continue}if(Je==="attributename"&&E0(Ne,"href")){jt(Pe,p,H);continue}if(!T.forceKeepAttr){if(!T.keepAttr){jt(Pe,p,H);continue}if(!jn&&sr(V_,Ne)){jt(Pe,p,H);continue}if(yt&&(Ne=S(Ne)),!Xe(V,Je,Ne)){jt(Pe,p,H);continue}Ne=nr(V,Je,Qe,Ne),Ne!==_s&&Si(p,Pe,Qe,Ne)&&Ca&&C0(e.removed)}}W(Oe.afterSanitizeAttributes,p,null)},Tn=function(p){let b=null,T=Q(p);for(W(Oe.beforeSanitizeShadowDOM,p,null);b=T.nextNode();)if(W(Oe.uponSanitizeShadowNode,b,null),Ie(b,p),vi(b),_(b.content)&&Tn(b.content),X(b)===Wr.element){let I=M(b);_(I)&&(_n(I),Tn(I))}W(Oe.afterSanitizeShadowDOM,p,null)},_n=function(p){let b=[{node:p,shadow:null}];for(;b.length>0;){let T=b.pop();if(T.shadow){Tn(T.shadow);continue}let I=T.node,H=X(I)===Wr.element,Pe=k(I);if(Pe)for(let Qe=Pe.length-1;Qe>=0;--Qe)b.push({node:Pe[Qe],shadow:null});if(H){let Qe=x?x(I):null;if(typeof Qe=="string"&&_e(Qe)==="template"){let Ke=I.content;_(Ke)&&b.push({node:Ke,shadow:null})}}if(H){let Qe=M(I);_(Qe)&&b.push({node:null,shadow:Qe},{node:Qe,shadow:null})}}};return e.sanitize=function(C){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=null,T=null,I=null,V=null;if(pi=!C,pi&&(C=""),typeof C!="string"&&!z(C)&&(C=__(C),typeof C!="string"))throw Rs("dirty is not a string, aborting");if(!e.isSupported)return C;ne?(Se=me,we=qe):bi(p),(Oe.uponSanitizeElement.length>0||Oe.uponSanitizeAttribute.length>0)&&(Se=Br(Se)),Oe.uponSanitizeAttribute.length>0&&(we=Br(we)),e.removed=[];let H=rr&&typeof C!="string"&&z(C);if(H){Aa(C);let Ke=j(C);if(typeof Ke=="string"){let Je=_e(Ke);if(!Se[Je]||Nt[Je])throw Dr(C),Rs("root node is forbidden and cannot be sanitized in-place")}if(E(C))throw Dr(C),Rs("root node is clobbered and cannot be sanitized in-place");try{_n(C)}catch(Je){throw Dr(C),Je}}else if(z(C))b=y(""),T=b.ownerDocument.importNode(C,!0),T.nodeType===Wr.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?b=T:b.appendChild(T),_n(b);else{if(!Ge&&!yt&&!Y&&C.indexOf("<")===-1)return G&&tr?B(C):C;if(b=y(C),!b)return Ge?null:tr?ie:""}b&&Fe&&Rt(b.firstChild);let Pe=H?C:b;try{let Ke=Q(Pe);for(;I=Ke.nextNode();)Ie(I,Pe),vi(I),_(I.content)&&Tn(I.content)}catch(Ke){throw H&&(Dr(C),Ms(e.removed,Je=>{Je.element&&Ir(Je.element)})),Ke}if(H)return Ms(e.removed,Ke=>{Ke.element&&Ir(Ke.element)}),yt&&A(C),C;if(Ge){if(yt&&A(b),vt)for(V=tt.call(b.ownerDocument);b.firstChild;)V.appendChild(b.firstChild);else V=b;return(we.shadowroot||we.shadowrootmode)&&(V=Zt.call(n,V,!0)),V}let Qe=Y?b.outerHTML:b.innerHTML;return Y&&Se["!doctype"]&&b.ownerDocument&&b.ownerDocument.doctype&&b.ownerDocument.doctype.name&&sr(z_,b.ownerDocument.doctype.name)&&(Qe=" -`+Qe),yt&&(Qe=S(Qe)),G&&tr?B(Qe):Qe},e.setConfig=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};bi(C),ne=!0,me=Se,qe=we},e.clearConfig=function(){Or=null,ne=!1,me=null,qe=null,G=U,ie=""},e.isValidAttribute=function(C,p,b){Or||bi({});let T=_e(C),I=_e(p);return Xe(T,I,b)},e.addHook=function(C,p){typeof p=="function"&&$r(Oe,C)&&Ia(Oe[C],p)},e.removeHook=function(C,p){if($r(Oe,C)){if(p!==void 0){let b=x_(Oe[C],p);return b===-1?void 0:w_(Oe[C],b,1)[0]}return C0(Oe[C])}},e.removeHooks=function(C){$r(Oe,C)&&(Oe[C]=[])},e.removeAllHooks=function(){Oe=V0()},e}var Yi=j0();var U_=kf(),U0=["clk","reset"],$f=class{constructor(e,t){this.lines=[];this.zoom=8;this.t0=0;this.tsel=-1;this.tnow=-1;this.hexformat=!0;this.scrollbarWidth=12;this.parent=e,this.wfp=t,this.parent.setAttribute("tabindex","-1"),this.parent.addEventListener("mousedown",n=>{n.preventDefault(),this.parent.focus()}),k0(this.parent,()=>this.getShortcuts()),Q0(this.parent,"verilog-waveform"),this.recreate()}getShortcuts(){return[{key:"=",label:"Zoom In",fn:()=>this.setZoom(this.zoom*2)},{key:"-",label:"Zoom Out",fn:()=>this.setZoom(this.zoom/2)},{key:"ctrl+shift+left",label:"To Start",fn:()=>{this.setSelTime(0),this.setOrgTime(0)}},{key:"shift+left",label:"Page Left",fn:()=>this.setSelTime(this.tsel-this.clocksPerPage/4)},{key:"left",label:"Left",fn:()=>this.setSelTime(this.tsel-1)},{key:"right",label:"Right",fn:()=>this.setSelTime(this.tsel+1)},{key:"shift+right",label:"Page Right",fn:()=>this.setSelTime(this.tsel+this.clocksPerPage/4)},{key:"space",label:"Go To Current",fn:()=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}},{key:"h",label:"Hex/Dec",fn:()=>{this.hexformat=!this.hexformat,this.refresh()}}]}recreate(){clearTimeout(this.wtimer),this.wtimer=setTimeout(()=>{this.destroy(),this._recreate()},0)}destroy(){this.wavelist&&($(this.wavelist.container).remove(),this.wavelist=null),this.toolbar&&(this.toolbar.destroy(),this.toolbar=null),this.clklabel&&(this.clklabel.remove(),this.clklabel=null)}_recreate(){if(this.meta=this.wfp.getSignalMetadata(),!!this.meta){var e=$(this.parent).width();this.pageWidth=e-this.scrollbarWidth;var t=40;this.setClocksPerPage(),this.clockMax=0,this.wavelist=new zr({w:e,h:$(this.parent).height(),itemHeight:t,totalRows:this.meta.length+1,generatorFn:o=>{var a=this.meta[o];let l=document.createElement("div"),c=document.createElement("canvas");return c.width=e-12,c.height=t,l.appendChild(c),l.classList.add("waverow"),this.lines[o]=c,this.refreshRow(o),a&&a.input&&U0.indexOf(a.label)<0&&(l.onmousedown=d=>{var h=this.meta[o];h&&h.input&&this.changeInputValue(o)},l.classList.add("editable"),l.style.cursor="grab"),l}});var n=this.wavelist.container;n.tabIndex=-1,this.toolbar=new Bi(this.parent,this.parent),this.toolbar.span.css("display","inline-block"),this.clklabel=document.createElement("span"),this.clklabel.innerText="-",$(this.parent).append(this.clklabel),$(this.parent).append(n);var i=!1,s=o=>{this.setSelTime(o.offsetX/this.zoom+this.t0-.5)};$(n).mousedown(o=>{i=!0,s(o)}),$(n).mousemove(o=>{i&&s(o)}),$(n).mouseup(o=>{i=!1}),$(n).on("wheel",o=>{if(Math.abs(o.originalEvent.deltaX)>Math.abs(o.originalEvent.deltaY)){var a=Math.max(-1e3,Math.min(1e3,o.originalEvent.deltaX));a&&this.setOrgTime(this.t0+a)}}),this.toolbar.add("=","Zoom In","glyphicon-zoom-in",(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("+","Zoom In",null,(o,a)=>{this.setZoom(this.zoom*2)}),this.toolbar.add("-","Zoom Out","glyphicon-zoom-out",(o,a)=>{this.setZoom(this.zoom/2)}),this.toolbar.add("ctrl+shift+left","Move to beginning","glyphicon-backward",(o,a)=>{this.setSelTime(0),this.setOrgTime(0)}),this.toolbar.add("shift+left","Move left 1/4 page","glyphicon-fast-backward",(o,a)=>{this.setSelTime(this.tsel-this.clocksPerPage/4)}),this.toolbar.add("left","Move left 1 clock","glyphicon-step-backward",(o,a)=>{this.setSelTime(this.tsel-1)}),this.toolbar.add("right","Move right 1 clock","glyphicon-step-forward",(o,a)=>{this.setSelTime(this.tsel+1)}),this.toolbar.add("shift+right","Move right 1/4 page","glyphicon-fast-forward",(o,a)=>{this.setSelTime(this.tsel+this.clocksPerPage/4)}),this.toolbar.add("space","Go to current time","glyphicon-flash",(o,a)=>{this.setOrgTime(this.tnow),this.setSelTime(this.tnow)}),this.toolbar.add("h","Switch between hex/decimal format","glyphicon-barcode",(o,a)=>{this.hexformat=!this.hexformat,this.refresh()}),$(window).resize(()=>{this.recreate()})}}roundT(e){return e=Math.round(e),e=Math.max(0,e),e=Math.min(this.clockMax+this.clocksPerPage/2,e),e}setOrgTime(e){this.t0=this.roundT(e),this.refresh()}setCurrentTime(e){this.tnow=this.roundT(e),this.refresh()}setSelTime(e){e=this.roundT(e),e>=this.t0+this.clocksPerPage-1&&(this.t0+=this.clocksPerPage/4),e<=this.t0+2&&(this.t0-=this.clocksPerPage/4),this.tsel=e,this.setOrgTime(this.t0),this.clklabel.innerText=" clk "+this.tsel}setClocksPerPage(){this.clocksPerPage=Math.floor(this.pageWidth/this.zoom)-1}setZoom(e){this.zoom=Math.max(1/16,Math.min(64,e)),this.setClocksPerPage(),this.t0=Math.max(0,Math.round(this.tsel-this.clocksPerPage/2)),this.refresh()}refresh(){if(this.meta||this.recreate(),!!this.meta)for(var e=0;e3&&(i=`${t.len}'h${i}`),i}refreshRow(e){var t=this.lines[e],n=this.meta[e];if(!t||!n)return;var i=n.label=="clk",s=t.width,o=t.height,a=t.getContext("2d"),l="14px Andale Mono, Lucida Console, monospace",c="10px Andale Mono, Lucida Console, monospace";a.font=l,a.clearRect(0,0,t.width,t.height);var d=[];n.input&&U0.indexOf(n.label)<0&&d.push("input");var h=12,u=h+4,f=4,m=o-u-f,g=n.len==32?4294967296:(1<1&&this.zoom>=32,L=u+m-4;a.fillStyle="#336633",a.fillRect(0,h/2,3,u+m-h/2);let M=a.strokeStyle="#33dd33",D=a.fillStyle="#66ffff",w="#dddddd";a.beginPath();for(var x=0,R=0,X=-1,j=0;j4&&(a.font=c),a.fillText(U,x+this.zoom/4,ie)}j>0&&a.lineTo(x,R),R=u+(1-G/g)*m,i||(x+=this.zoom*(1/8)),j==0?a.moveTo(x,R):a.lineTo(x,R),this.zoom>.75&&X!=G&&Math.abs(X-G)=this.t0){a.strokeStyle=a.fillStyle="#ff66ff",a.beginPath(),x=(this.tsel-this.t0)*this.zoom+this.zoom/2,a.moveTo(x,0),a.lineTo(x,o),a.stroke();var G=v[this.tsel-this.t0];if(a.textAlign="right",G!==void 0){var ge=this.value2str(G,n),x=s-h,pe=a.measureText(ge);a.fillStyle="black",a.fillRect(x-pe.width-2,L-13,pe.width+4,17),a.fillStyle="#ff66ff",a.fillText(ge,x,L)}}this.tnow>=this.t0&&(a.strokeStyle=a.fillStyle="#6666cc",a.beginPath(),x=(this.tnow-this.t0)*this.zoom+this.zoom/2,a.moveTo(x,0),a.lineTo(x,o),a.stroke()),a.fillStyle=w,a.textAlign="left";var ke=n.label;d.length>0&&(ke+=" ("+d.join(", ")+")"),a.fillText(ke,5,h)}changeInputValue(e){var t=this.meta[e];if(t){var n=this.wfp.getSignalData(e,this.t0,1),i=n[0]||0,s=0,o=(1<0?0:1);else{var a=`${s} to ${o}`;bootbox.prompt({value:i+"",inputType:"number",title:`Enter new value for "${Yi.sanitize(t.label)}" (${a}):`,callback:l=>{if(l!=null){var c=parseInt(l);c>=s&&c<=o&&this.wfp.setSignalValue(e,parseInt(l))}}})}}}},$c=class{constructor(e,t){this.provider=t;var n=$("#emuoverlay").show();this.topdiv=$('
').appendTo(n)[0],this.topdiv.appendChild(e),this.wavediv=$('
').appendTo(n)[0],this.split=U_([this.topdiv,this.wavediv],{minSize:[0,0],sizes:[99,1],direction:"vertical",gutterSize:16,onDrag:()=>this.resize()})}isVisible(){return this.split.getSizes()[1]>2}show(){this.split.setSizes([0,100])}setCurrentTime(e){this.waveview&&this.waveview.setCurrentTime(e)}update(){this.isVisible()&&(this.waveview?this.waveview.refresh():this.waveview=new $f(this.wavediv,this.provider))}resize(){this.waveview&&this.waveview.recreate()}};function q0(){c0({createScope:(r,e)=>new $c(r,e),showVideoControls(r){$("#speed_bar, #run_bar, #dbg_record").toggle(r)},showSettleCount(r){r==null?$("#verilog_bar").hide():($("#verilog_bar").show(),$("#settle_label").text(r+""))}})}var it=[/^\s*[.#%]?(include|incbin|embed)\s+"(.+?)"/gmi,/^\s*([;']|[/][/])#(resource)\s+"(.+?)"/gm],q_=[...it,/^\s*[.]?(include|incbin)\s+([^\s;"]+)/gmi],G_=[...it,/^\s*#pragma\s+compile\s*\(\s*"([^"]+)"\s*\)/gmi],lt=[/^\s*([;]|[/][/])#link\s+"(.+?)"/gm],Wa=[/^\s*(`include|[.]include)\s+"(.+?)"/gmi,/^\s*\$(include|\$dofile|\$write_image_in_table)\('(.+?)'/gmi,{re:/^\s*([.]arch)\s+(\w+)/gmi,suffix:".json"},/\$readmem[bh]\("(.+?)"/gmi],H_=[{re:/^\s*[.#%]?\s*include\s+<(.+?)>/gmi,system:!0}];function K0(r){let e=r&&or(r);return e&&e.includeDirs&&e.includeDirs.length?H_:[]}var G0=[/^\s+(USE|ASM)\s+(\S+[.]\S+)/gm],K_=[/^[!]src\s+"(.+?)"/gmi],J_=[{re:/^\s*import\s*"(.+?)";/gmi,suffix:".wiz"},/^\s*embed\s*"(.+?)";/gmi],eA=[/^\s*(import)\s*"(.+?)"/gmi],tA=[/^\s*%%\s*#include\s+"(.+?)"/gm],rA={cc65:{apple2:"https://cc65.github.io/doc/apple2.html",atari8:"https://cc65.github.io/doc/atari.html",c64:"https://cc65.github.io/doc/c64.html",nes:"https://cc65.github.io/doc/nes.html",pce:"https://cc65.github.io/doc/pce.html",vic20:"https://cc65.github.io/doc/vic20.html",lynx:"https://cc65.github.io/doc/lynx.html"}},H0={apple2:{preloadFS:"65-apple2"},c64:{preloadFS:"65-c64"},vic20:{preloadFS:"65-vic20"},nes:{preloadFS:"65-nes"},atari8:{preloadFS:"65-atari8"},vector:{preloadFS:"65-none"},atari7800:{preloadFS:"65-none"},devel:{preloadFS:"65-none"},vcs:{preloadFS:"65-atari2600"},pce:{preloadFS:"65-pce"},exidy:{preloadFS:"65-none"}},Qo={dasm:{id:"dasm",name:"DASM",kind:"assembler",arch:"6502",extensions:[".dasm"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/dasm-assembler/dasm/refs/tags/v2.20.17/docs/dasm.txt",wasmModule:"dasm-wasisdk",version:"2.20.17",includePatterns:q_,linkPatterns:lt},acme:{id:"acme",name:"ACME",kind:"assembler",arch:"6502",extensions:[".acme"],editorStyle:"6502",helpURL:"https://raw.githubusercontent.com/sehugg/acme/main/docs/QuickRef.txt",wasmModule:"acme",version:"0.97.1",includePatterns:[...it,...K_],linkPatterns:lt},xa:{id:"xa",name:"XA",kind:"assembler",arch:"6502",extensions:[".xa"],editorStyle:"6502",helpURL:"https://www.floodgap.com/retrotech/xa/",wasmModule:"xa",version:"2.4.1",includePatterns:it,linkPatterns:lt},nesasm:{id:"nesasm",name:"NESASM",kind:"assembler",arch:"6502",extensions:[".nesasm"],editorStyle:"6502",helpURL:"https://github.com/camsaul/nesasm",wasmModule:"nesasm",version:"3.1",includePatterns:it,linkPatterns:lt},merlin32:{id:"merlin32",name:"Merlin 32",kind:"assembler",arch:"6502",extensions:[".lnk"],editorStyle:"6502",helpURL:"https://github.com/apple2accumulator/merlin32",wasmModule:"merlin32",version:"1.1.10",includePatterns:[...it,...G0],linkPatterns:lt},cc65:{id:"cc65",name:"cc65",kind:"compiler",arch:"6502",extensions:[".c",".h"],includeDirs:["/include","/asminc"],editorStyle:"text/x-csrc",helpURL:"https://cc65.github.io/doc/cc65.html",wasmModule:"cc65",version:"2.19",defineFlag:"-D",defineInline:!0,platforms:H0,includePatterns:it,linkPatterns:lt},ca65:{id:"ca65",name:"ca65",kind:"assembler",arch:"6502",extensions:[".s",".ca65",".inc"],includeDirs:["/include","/asminc"],editorStyle:"6502",helpURL:"https://cc65.github.io/doc/ca65.html",wasmModule:"ca65",version:"2.19",defineFlag:"-D",defineInline:!1,platforms:H0,includePatterns:it,linkPatterns:lt},ld65:{id:"ld65",name:"ld65",kind:"linker",arch:"6502",extensions:[],wasmModule:"ld65",version:"2.19",linkSymbolFlag:"-D",linkSymbolInline:!1},sdcc:{id:"sdcc",name:"SDCC",kind:"compiler",arch:"z80",extensions:[".c",".h"],includeDirs:["/include"],editorStyle:"text/x-csrc",helpURL:"http://sdcc.sourceforge.net/doc/sdccman.pdf",wasmModule:"sdcc",version:"3.6.5",defineFlag:"-D",defineInline:!0,platforms:{default:{preloadFS:"sdcc"}},includePatterns:it,linkPatterns:lt},sdasz80:{id:"sdasz80",name:"sdasz80",kind:"assembler",arch:"z80",extensions:[".s"],includeDirs:["/include"],editorStyle:"z80",wasmModule:"sdasz80",version:"02.00",platforms:{default:{preloadFS:"sdcc"}},includePatterns:it,linkPatterns:lt},sdasgb:{id:"sdasgb",name:"sdasgb",kind:"assembler",arch:"gbz80",extensions:[".sgb"],includeDirs:["/include"],editorStyle:"z80",wasmModule:"sdasgb",platforms:{default:{preloadFS:"sdcc"}},includePatterns:it,linkPatterns:lt},sdldz80:{id:"sdldz80",name:"sdldz80",kind:"linker",arch:"z80",extensions:[],wasmModule:"sdldz80",version:"03.00",linkSymbolFlag:"-g",linkSymbolInline:!1},sccz80:{id:"sccz80",name:"sccz80",kind:"compiler",arch:"z80",extensions:[".scc"],platforms:{default:{preloadFS:"sccz80"}},noWorkerBuild:!0},naken:{id:"naken",name:"Naken",kind:"assembler",extensions:[".ns"],helpURL:"https://github.com/mikeakohn/naken_asm",noWorkerBuild:!0},zmac:{id:"zmac",name:"zmac",kind:"assembler",arch:"z80",extensions:[".z"],editorStyle:"z80",helpURL:"https://raw.githubusercontent.com/sehugg/zmac/master/doc.txt",wasmModule:"zmac",version:"28jul2018",includePatterns:it,linkPatterns:lt},jsasm:{id:"jsasm",name:"JSASM",kind:"assembler",extensions:[".asm"],editorStyle:"z80",includePatterns:Wa,linkPatterns:[]},xasm6809:{id:"xasm6809",name:"XASM6809",kind:"assembler",arch:"6809",extensions:[".xasm"],editorStyle:"6809",wasmModule:"xasm6809",includePatterns:[...it,...G0],linkPatterns:lt},cmoc:{id:"cmoc",name:"CMOC",kind:"compiler",arch:"6809",extensions:[".c",".h"],editorStyle:"text/x-csrc",helpURL:"https://github.com/stahta01/cmoc/",wasmModule:"cmoc",version:"0.1.67",defineFlag:"-D",defineInline:!1,includePatterns:it,linkPatterns:lt},lwasm:{id:"lwasm",name:"LWASM",kind:"assembler",arch:"6809",extensions:[".lwasm"],editorStyle:"6809",wasmModule:"lwasm",version:"4.17",includePatterns:it,linkPatterns:lt},lwlink:{id:"lwlink",name:"LWLINK",kind:"linker",arch:"6809",extensions:[],wasmModule:"lwlink",version:"4.17"},vasmarm:{id:"vasmarm",name:"vasm (ARM)",kind:"assembler",arch:"arm32",extensions:[".vasm"],editorStyle:"vasm",wasmModule:"vasmarm_std",version:"1.8k",defineFlag:"-D",defineInline:!1,includePatterns:it,linkPatterns:lt},armips:{id:"armips",name:"armips",kind:"assembler",arch:"arm32",extensions:[".armips"],editorStyle:"vasm",wasmModule:"armips",version:"0.11.0",includePatterns:it,linkPatterns:lt},armtcc:{id:"armtcc",name:"TCC (ARM)",kind:"compiler",arch:"arm32",extensions:[".c",".s"],includeDirs:["/include"],wasiFSZip:"arm32-fs.zip",editorStyle:"text/x-csrc",wasmModule:"arm-tcc",defineFlag:"-D",defineInline:!1,includePatterns:it,linkPatterns:lt},armtcclink:{id:"armtcclink",name:"TCC (ARM) link",kind:"linker",arch:"arm32",extensions:[],wasmModule:"arm-tcc"},smlrc:{id:"smlrc",name:"SmallerC",kind:"compiler",arch:"x86",extensions:[".c"],helpURL:"https://github.com/alexfru/SmallerC/blob/master/v0100/doc/smlrc.md",editorStyle:"text/x-csrc",wasmModule:"smlrc",defineFlag:"-D",defineInline:!1,includePatterns:it,linkPatterns:lt},yasm:{id:"yasm",name:"YASM",kind:"assembler",arch:"x86",extensions:[".asm"],editorStyle:"gas",helpURL:"https://www.tortall.net/projects/yasm/manual/html/manual.html",wasmModule:"yasm",version:"1.3.0",defineFlag:"-D",defineInline:!1,includePatterns:it,linkPatterns:lt},oscar64:{id:"oscar64",name:"Oscar64",kind:"compiler",arch:"6502",extensions:[".c",".cpp",".cc",".o64"],includeDirs:["/include"],wasiFSZip:"oscar64-fs.zip",editorStyle:"text/x-csrc",helpURL:"https://github.com/drmortalwombat/oscar64/blob/v1.32.266/oscar64.md",defineFlag:"-d",defineInline:!0,wasmModule:"oscar64",version:"1.32.266",includePatterns:G_,linkPatterns:lt,compileLinkedSources:!0,platforms:{c64:{},atari8:{buildArgs:{compiler:["-tm=atari"]}},nes:{buildArgs:{compiler:["-tm=nes"]}}}},bataribasic:{id:"bataribasic",name:"batari Basic",kind:"compiler",arch:"6502",extensions:[".bb",".bas"],includeDirs:["/includes"],editorStyle:"bataribasic",helpURL:"help/bataribasic/manual.html",wasiFSZip:"bb-fs.zip",platforms:{default:{}},includePatterns:it,linkPatterns:lt},fastbasic:{id:"fastbasic",name:"FastBasic",kind:"compiler",arch:"6502",extensions:[".bas",".fb",".fbi"],editorStyle:"fastbasic",helpURL:"https://github.com/dmsc/fastbasic/blob/v4.4/manual.md",wasmModule:"fastbasic-int",version:"4.4",platforms:{default:{preloadFS:"65-atari8"}},includePatterns:it,linkPatterns:lt},cc2600:{id:"cc2600",name:"CC2600",kind:"compiler",arch:"6502",extensions:[".cc2600"],editorStyle:"text/x-csrc",helpURL:"https://github.com/steux/cc2600",wasmModule:"cc2600",version:"0.4.5",wasiFSZip:"cc2600-fs.zip",includeDirs:["/headers"],includePatterns:it,linkPatterns:lt},cc7800:{id:"cc7800",name:"CC7800",kind:"compiler",arch:"6502",extensions:[".cc7800",".c78"],editorStyle:"text/x-csrc",helpURL:"https://github.com/steux/cc7800",wasmModule:"cc7800",version:"0.2.28",wasiFSZip:"cc7800-fs.zip",includeDirs:["/headers"],includePatterns:it,linkPatterns:lt},basic:{id:"basic",name:"BASIC",kind:"interpreter",extensions:[".bas"],editorStyle:"basic"},wiz:{id:"wiz",name:"wiz",kind:"compiler",extensions:[".wiz"],includeDirs:["/common/$platform"],editorStyle:"text/x-wiz",helpURL:"https://github.com/wiz-lang/wiz/blob/master/readme.md#wiz",wasmModule:"wiz",version:"0.1.2",platforms:{default:{preloadFS:"wiz"}},includePatterns:J_},ecs:{id:"ecs",name:"ECS",kind:"assembler",arch:"6502",extensions:[".ecs"],editorStyle:"ecs",platforms:{vcs:{preloadFS:"65-atari2600"},nes:{preloadFS:"65-nes"},c64:{preloadFS:"65-c64"}},includePatterns:[...it,...eA]},inform6:{id:"inform6",name:"Inform 6",kind:"compiler",arch:"zmachine",extensions:[".inf"],editorStyle:"inform6",wasmModule:"inform",version:"6.34",platforms:{default:{preloadFS:"inform"}}},dialog:{id:"dialog",name:"Dialog",kind:"compiler",arch:"zmachine",extensions:[".dg"],editorStyle:"dialog",helpURL:"https://linusakesson.net/dialog/docs/",wasmModule:"dialogc",version:"1c/03-dev",wasiFSZip:"dialog-fs.zip",includeDirs:["/"],includePatterns:tA},verilator:{id:"verilator",name:"Verilator",kind:"hdl",arch:"verilog",extensions:[".v"],editorStyle:"verilog",helpURL:"https://verilator.org/guide/4.205/",wasmModule:"verilator_bin",version:"4.205",includePatterns:Wa,linkPatterns:[]},yosys:{id:"yosys",name:"Yosys",kind:"hdl",arch:"verilog",extensions:[],wasmModule:"yosys",includePatterns:Wa,linkPatterns:[]},silice:{id:"silice",name:"Silice",kind:"hdl",arch:"verilog",extensions:[".ice"],editorStyle:"verilog",helpURL:"https://github.com/sylefeb/Silice",wasmModule:"silice",version:"0.1",platforms:{default:{preloadFS:"Silice"}},includePatterns:Wa,linkPatterns:[]},"llvm-mos":{id:"llvm-mos",name:"LLVM-MOS",kind:"compiler",arch:"6502",extensions:[".c",".cpp",".s",".S",".C"],editorStyle:"text/x-csrc",helpURL:"https://llvm-mos.org/wiki/Welcome",remote:!0,includePatterns:it,linkPatterns:lt,server:{version:"latest",platforms:["atari8","c64","nes","pce","vcs"],binpath:"llvm-mos/bin",command:"mos-clang",args:["-Os","-g","-D","__8BITWORKSHOP__","-o","$OUTFILE","$INFILES"]}},remote:{id:"remote",name:"Remote build",kind:"remote",extensions:[],remote:!0}};function or(r){return Qo[r.replace(/^remote:/,"")]}function J0(r,e){let t=or(r);if(!t||!e)return;let n=rA[t.id];if(!n)return;let i=n[e];if(!i){let s=an(e);s&&s!==e&&(i=n[s])}return i}function ey(r){let e=[];for(let t in Qo){let n=Qo[t];for(let i of n.extensions)if(i&&r.endsWith(i)){e.push({meta:n,len:i.length});break}}return e.sort((t,n)=>n.len-t.len).map(t=>t.meta)}function nA(r,e){let t=or(r);if(t&&t.platforms){if(e){let i=t.platforms[e];if(i&&i.preloadFS)return i.preloadFS;let s=an(e);if(s&&s!==e){let o=t.platforms[s];if(o&&o.preloadFS)return o.preloadFS}}let n=t.platforms.default;if(n&&n.preloadFS)return n.preloadFS}}function Qf(r){let e=or(r);return e&&e.skeleton?e.skeleton:r.replace(/^remote:/,"")}function Qc(r,e){let t=r&&or(r);return t&&t.includePatterns?t.includePatterns:e&&e.startsWith("verilog")?Wa:it}function Tc(r,e){let t=r&&or(r);return t&&t.linkPatterns?t.linkPatterns:e&&e.startsWith("verilog")?[]:lt}function ty(r){let e=r&&or(r);return!!(e&&e.compileLinkedSources)}function _c(r,e){e=e&&an(e);let t=r&&or(r),n=t&&t.includeDirs||[];return n=n.map(i=>i.replace("$platform",e)),n}function Ac(r,e){var t=nA(r,e);if(t)return t;let n=r&&or(r);return n&&n.wasiFSZip?"wasi:"+n.wasiFSZip:void 0}function ry(r,e){let t=[],n=r.split(` -`);for(let i of e||[]){let s=i instanceof RegExp?{re:i}:i;for(let o of n){let a;for(s.re.lastIndex=0;a=s.re.exec(o);){let l=a[s.group!=null?s.group:a.length-1];l&&t.push(s.suffix?l+s.suffix:l)}}}return t}var An={vcs:{arch:"6502",code_start:4096,code_size:61440,data_start:128,data_size:128,wiz_rom_ext:".a26",wiz_inc_dir:"2600",cfgfile:"atari2600.cfg",libargs:["crt0.o","atari2600.lib"],extra_link_files:["crt0.o","atari2600.cfg"],asm_cfgfile:"atari2600-asm.cfg",asm_libargs:[],asm_extra_link_files:["atari2600-asm.cfg"],define:["__ATARI2600__"]},mw8080bw:{arch:"z80",code_start:0,rom_size:8192,data_start:8192,data_size:1024,stack_end:9216},vicdual:{arch:"z80",code_start:0,rom_size:16416,data_start:58368,data_size:1024,stack_end:59392},galaxian:{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:18432},"galaxian-scramble":{arch:"z80",code_start:0,rom_size:20512,data_start:16384,data_size:1024,stack_end:18432},pacman:{arch:"z80",code_start:0,codeseg_start:202,rom_size:32768,data_start:19456,data_size:652,stack_end:20416},williams:{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152,set_stack_end:49152,extra_link_files:["williams.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_link_args:["-swilliams.scr","-lcmoc-crt-vec","-lcmoc-std-vec"],extra_compile_files:["assert.h","cmoc.h","stdarg.h","stdlib.h"]},"williams-defender":{arch:"6809",code_start:0,rom_size:49152,data_start:38912,data_size:10240,stack_end:49152},"williams-z80":{arch:"z80",code_start:0,rom_size:38912,data_start:38912,data_size:10240,stack_end:49152},"vector-z80color":{arch:"z80",code_start:0,rom_size:32768,data_start:57344,data_size:8192,stack_end:0},"vector-ataricolor":{arch:"6502",define:["__VECTOR__"],cfgfile:"vector-color.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","vector-color.cfg"]},"sound_williams-z80":{arch:"z80",code_start:0,rom_size:16384,data_start:16384,data_size:1024,stack_end:32768},base_z80:{arch:"z80",code_start:0,rom_size:32768,data_start:32768,data_size:32768,stack_end:0},coleco:{arch:"z80",rom_start:32768,code_start:33024,rom_size:32768,data_start:28672,data_size:1024,stack_end:32768,extra_preproc_args:["-I","/share/include/coleco","-D","CV_CV"],extra_link_args:["-k","/share/lib/coleco","-l","libcv","-l","libcvu","crt0.rel"]},msx:{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_link_args:["crt0-msx.rel"],extra_link_files:["crt0-msx.rel","crt0-msx.lst"],wiz_sys_type:"z80",wiz_inc_dir:"msx"},"msx-libcv":{arch:"z80",rom_start:16384,code_start:16384,rom_size:32768,data_start:49152,data_size:12288,stack_end:65535,extra_preproc_args:["-I",".","-D","CV_MSX"],extra_link_args:["-k",".","-l","libcv-msx","-l","libcvu-msx","crt0-msx.rel"],extra_link_files:["libcv-msx.lib","libcvu-msx.lib","crt0-msx.rel","crt0-msx.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},"sms-sg1000-libcv":{arch:"z80",rom_start:0,code_start:256,rom_size:49152,data_start:49152,data_size:1024,stack_end:57344,extra_preproc_args:["-I",".","-D","CV_SMS"],extra_link_args:["-k",".","-l","libcv-sms","-l","libcvu-sms","crt0-sms.rel"],extra_link_files:["libcv-sms.lib","libcvu-sms.lib","crt0-sms.rel","crt0-sms.lst"],extra_compile_files:["cv.h","cv_graphics.h","cv_input.h","cv_sound.h","cv_support.h","cvu.h","cvu_c.h","cvu_compression.h","cvu_f.h","cvu_graphics.h","cvu_input.h","cvu_sound.h"]},nes:{arch:"6502",define:["__NES__"],cfgfile:"neslib2.cfg",libargs:["crt0.o","nes.lib","neslib2.lib","-D","NES_MAPPER=0","-D","NES_PRG_BANKS=2","-D","NES_CHR_BANKS=1","-D","NES_MIRRORING=0"],extra_link_files:["crt0.o","neslib2.lib","neslib2.cfg","nesbanked.cfg"],symbolConfigs:{NES_MAPPER:{4:"nesbanked.cfg"}},ignore_segments:["HEADER","CHARS"],wiz_rom_ext:".nes"},apple2:{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["--lib-path","/share/target/apple2/drv","apple2.lib"],__CODE_RUN__:16384,code_start:2051,acmeargs:["-f","apple"]},"apple2-e":{arch:"6502",define:["__APPLE2__"],cfgfile:"apple2.cfg",libargs:["apple2.lib"],acmeargs:["-f","apple"]},"atari8-800xl.disk":{arch:"6502",define:["__ATARI__"],cfgfile:"atari.cfg",libargs:["atari.lib"],fastbasic_cfgfile:"fastbasic-cart.cfg",ignore_segments:["EXEHDR","SYSCHKHDR","SYSCHKTRL","MAINHDR","AUTOSTRT"]},"atari8-800xl":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-800":{arch:"6502",define:["__ATARI__"],cfgfile:"atari-cart.cfg",libargs:["atari.lib","-D","__CARTFLAGS__=4"],fastbasic_cfgfile:"fastbasic-cart.cfg"},"atari8-5200":{arch:"6502",define:["__ATARI5200__"],cfgfile:"atari5200.cfg",libargs:["atari5200.lib","-D","__CARTFLAGS__=255"],fastbasic_cfgfile:"fastbasic-cart.cfg"},verilog:{arch:"verilog",extra_compile_files:["8bitworkshop.v"]},astrocade:{arch:"z80",code_start:8192,rom_size:8192,data_start:19984,data_size:496,stack_end:20480},"astrocade-arcade":{arch:"z80",code_start:0,rom_size:16384,data_start:32224,data_size:544,stack_end:32768},"astrocade-bios":{arch:"z80",code_start:0,rom_size:8192,data_start:20430,data_size:50,stack_end:20430},atari7800:{arch:"6502",define:["__ATARI7800__"],cfgfile:"atari7800.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","atari7800.cfg"]},c64:{arch:"6502",define:["__CBM__","__C64__"],cfgfile:"c64.cfg",libargs:["openroms-compat.o","c64.lib"],extra_link_files:["openroms-compat.o"],acmeargs:["-f","cbm"]},vic20:{arch:"6502",define:["__CBM__","__VIC20__"],cfgfile:"vic20.cfg",libargs:["vic20.lib"],acmeargs:["-f","cbm"]},kim1:{arch:"6502"},vectrex:{arch:"6809",code_start:0,rom_size:32768,data_start:51328,data_size:896,stack_end:52224,extra_compile_files:["assert.h","cmoc.h","stdarg.h","vectrex.h","stdlib.h","bios.h"],extra_link_files:["vectrex.scr","libcmoc-crt-vec.a","libcmoc-std-vec.a"],extra_compile_args:["--vectrex"],extra_link_args:["-svectrex.scr","-lcmoc-crt-vec","-lcmoc-std-vec"]},x86:{arch:"x86"},zx:{arch:"z80",code_start:23755,rom_size:41613,data_start:61440,data_size:3584,stack_end:65368,extra_link_args:["crt0-zx.rel"],extra_link_files:["crt0-zx.rel","crt0-zx.lst"]},"devel-6502":{arch:"6502",cfgfile:"devel-6502.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","devel-6502.cfg"]},"cpc.rslib":{arch:"z80",code_start:16384,rom_size:28928,data_start:45312,data_size:-3840,stack_end:49152,extra_compile_files:["cpcrslib.h"],extra_link_args:["crt0-cpc.rel","cpcrslib.lib"],extra_link_files:["crt0-cpc.rel","crt0-cpc.lst","cpcrslib.lib","cpcrslib.lst"]},cpc:{arch:"z80",code_start:16384,rom_size:28928,data_start:45312,data_size:-3840,stack_end:49152,extra_compile_files:["cpctelera.h"],extra_link_args:["crt0-cpc.rel","cpctelera.lib"],extra_link_files:["crt0-cpc.rel","crt0-cpc.lst","cpctelera.lib","cpctelera.lst"]},pce:{arch:"huc6280",define:["__PCE__"],cfgfile:"pce.cfg",libargs:["pce.lib","-D","__CARTSIZE__=0x8000"]},exidy:{define:["__EXIDY__"],cfgfile:"exidy.cfg",libargs:["crt0.o","none.lib"],extra_link_files:["crt0.o","exidy.cfg"]},arm32:{arch:"arm32",define:["__ARM__","DISABLE_UNIMPLEMENTED_LIBC_APIS","PRINTF_ALIAS_STANDARD_FUNCTION_NAMES_SOFT"],extra_compile_args:["-I./arch/arm/include","-I./openlibm/include","-I./openlibm/src","-I./printf/src"],extra_link_files:["crt0.c","libc.a"],extra_link_args:["crt0.c","-lc"]},gb:{arch:"gbz80",code_start:0,codeseg_start:512,rom_size:32768,rom_banking:{size:16384,window:16384},data_start:49312,data_size:8032,stack_end:57344,extra_link_files:["gbz80.lib","gb.lib"],extra_link_args:["-l","gb","-g","_shadow_OAM=0xC000","-g",".STACK=0xE000","-g",".refresh_OAM=0xFF80","-g","GB_MAPPER=0x0","-g","GB_ROM_SIZE=0x0","-g","GB_RAM_SIZE=0x0","-g","GB_CGB_FLAGS=0x0"],wiz_sys_type:"gb",wiz_inc_dir:"gb"},mcr:{arch:"z80",code_start:0,rom_size:106496,data_start:57344,data_size:2048,stack_end:59392}};An["sms-sms-libcv"]=As(gt({},An["sms-sg1000-libcv"]),{extra_preproc_args:["-I",".","-D","CV_SMS","-D","CV_MODE4"]});An["sms-gg-libcv"]=An["sms-sms-libcv"];An["gb.color"]=As(gt({},An.gb),{extra_link_args:An.gb.extra_link_args.map(r=>r==="GB_CGB_FLAGS=0x0"?"GB_CGB_FLAGS=0x80":r)});var iA=10,sA=1e4,ny="/error.php",oA=2e3,iy=0,sy="",oy=0;function Fi(r,e){try{if(r==null)return"";var t=typeof r=="string"?r:typeof r=="object"?JSON.stringify(r):r+"";return t.substring(0,e)}catch(n){return""}}function ay(r,e,t){try{if(iy>=iA)return;var n=Date.now();if(r===sy&&n-oy