@getodk/xpath 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +4 -4
- package/dist/error/JRCompatibleError.d.ts +7 -0
- package/dist/error/JRCompatibleGeoValueError.d.ts +6 -0
- package/dist/expressionParser-BYZuKGXg.js +3480 -0
- package/dist/expressionParser-BYZuKGXg.js.map +1 -0
- package/dist/expressionParser.js +1 -1
- package/dist/index.js +6443 -6554
- package/dist/index.js.map +1 -1
- package/dist/lib/collections/sort.d.ts +1 -1
- package/dist/lib/geo/EncodeGeoValueStubError.d.ts +4 -0
- package/dist/lib/geo/GeoValueCodec.d.ts +33 -0
- package/dist/lib/geo/Geopoint.d.ts +28 -0
- package/dist/lib/geo/Geotrace.d.ts +12 -0
- package/dist/lib/geo/GeotraceLine.d.ts +11 -0
- package/dist/lib/geo/encodeGeoValueStubFactory.d.ts +2 -0
- package/dist/lib/geo/geopointCodec.d.ts +4 -0
- package/package.json +14 -11
- package/dist/expressionParser-DpqfmhIO.js +0 -3479
- package/dist/expressionParser-DpqfmhIO.js.map +0 -1
|
@@ -1,3479 +0,0 @@
|
|
|
1
|
-
import require$$0 from 'fs';
|
|
2
|
-
import require$$1 from 'path';
|
|
3
|
-
|
|
4
|
-
function _mergeNamespaces(n, m) {
|
|
5
|
-
for (var i = 0; i < m.length; i++) {
|
|
6
|
-
const e = m[i];
|
|
7
|
-
if (typeof e !== 'string' && !Array.isArray(e)) { for (const k in e) {
|
|
8
|
-
if (k !== 'default' && !(k in n)) {
|
|
9
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
10
|
-
if (d) {
|
|
11
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: () => e[k]
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
} }
|
|
18
|
-
}
|
|
19
|
-
return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' }));
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
23
|
-
|
|
24
|
-
function getDefaultExportFromCjs (x) {
|
|
25
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function getAugmentedNamespace(n) {
|
|
29
|
-
if (n.__esModule) return n;
|
|
30
|
-
var f = n.default;
|
|
31
|
-
if (typeof f == "function") {
|
|
32
|
-
var a = function a () {
|
|
33
|
-
if (this instanceof a) {
|
|
34
|
-
return Reflect.construct(f, arguments, this.constructor);
|
|
35
|
-
}
|
|
36
|
-
return f.apply(this, arguments);
|
|
37
|
-
};
|
|
38
|
-
a.prototype = f.prototype;
|
|
39
|
-
} else a = {};
|
|
40
|
-
Object.defineProperty(a, '__esModule', {value: true});
|
|
41
|
-
Object.keys(n).forEach(function (k) {
|
|
42
|
-
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
43
|
-
Object.defineProperty(a, k, d.get ? d : {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function () {
|
|
46
|
-
return n[k];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
return a;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
class UpsertableMap extends Map {
|
|
54
|
-
upsert(key, produce) {
|
|
55
|
-
if (this.has(key)) {
|
|
56
|
-
return this.get(key);
|
|
57
|
-
}
|
|
58
|
-
const value = produce(key);
|
|
59
|
-
this.set(key, value);
|
|
60
|
-
return value;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const xpathLanguage = "data:application/wasm;base64,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wP0AaiADaigCBCACSA0VDCILIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyACQfMARgRAQcsAIQYMGwsDQCMAQcD9AGogBEEBdiIFIANqIghBA3RqIgkoAgQhAUHnACEGIAIgCSgCAE4gASACTnENHiAIIAMgASACSBshA0EBIQEgBCAFayIEQQFLDQALIANBA3QiAyMAQcD9AGpqKAIAIAJKDRRBASEFIwBBwP0AaiADaigCBCACSA0UDCELIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyACQfMARgRAQeEAIQYMGgsDQCMAQcD9AGogBEEBdiIFIANqIghBA3RqIgkoAgQhAUHnACEGIAIgCSgCAE4gASACTnENHSAIIAMgASACSBshA0EBIQEgBCAFayIEQQFLDQALIANBA3QiAyMAQcD9AGpqKAIAIAJKDRNBASEFIwBBwP0AaiADaigCBCACSA0TDCALIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyACQfMARgRAQd0AIQYMGQsDQCMAQcD9AGogBEEBdiIFIANqIghBA3RqIgkoAgQhAUHnACEGIAIgCSgCAE4gASACTnENHCAIIAMgASACSBshA0EBIQEgBCAFayIEQQFLDQALIANBA3QiAyMAQcD9AGpqKAIAIAJKDRJBASEFIwBBwP0AaiADaigCBCACSA0SDB8LIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyACQfQARgRAQc0AIQYMGAsDQCMAQcD9AGogBEEBdiIFIANqIghBA3RqIgkoAgQhAUHnACEGIAIgCSgCAE4gASACTnENGiAIIAMgASACSBshA0EBIQEgBCAFayIEQQFLDQALIANBA3QiAyMAQcD9AGpqKAIAIAJKDRFBASEFIwBBwP0AaiADaigCBCACSA0RDB4LIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyACQfQARgRAQdsAIQYMFwsDQCMAQcD9AGogBEEBdiIFIANqIghBA3RqIgkoAgQhAUHnACEGIAIgCSgCAE4gASACTnENGSAIIAMgASACSBshA0EBIQEgBCAFayIEQQFLDQALIANBA3QiAyMAQcD9AGpqKAIAIAJKDRBBASEFIwBBwP0AaiADaigCBCACSA0QDB0LIABBATsBBCAAIAAoAgwRAABBEiEEQQAhAyAC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BEHuAEcNBUEAIQJB3wAhAwwHC0EEIQIMDQsgBEHsAEcNA0EAIQJB4AAhAwwFCyAEQecARw0CQQAhAkHhACEDDAQLIARB5wBHDQFBACECQeIAIQMMAwsgBEHmAEYNAQsgBSEBDAoLQQAhAkHjACEDCyAAIAIgACgCCBEEAAwBCwtBCiECDAQLQQ4hAgwDC0EIIQIMAgtBDyECDAELQQYhAgsgACACOwEEIAAgACgCDBEAAAtBASEBCyABQQFxCwvghAEBACMAC9iEAREAAwABAAEABwABABAACwABABUADQABABYADwABABcAHQABACwAKwABAG8APAABAEQAZQABADwAbAABAHMAHwADADoAOwA9AD0AAwA4ADkAQwAfAAQALwAwADEAMgAlAAYAHAAdACEAIwAtAC4ANQAJAD4APwBsAG0AbgBwAHEAcgB4ACMACwAAABEAEwAZABoAHgAfACAAIgAkACUABQANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8ADwADAAEAAQAHAAEAEAALAAEAFQANAAEAFgAPAAEAFwAdAAEALAArAAEAbwA8AAEARABlAAEAPABsAAEAcwAfAAMAOgA7AD0APwADADgAOQBDAB8ABAAvADAAMQAyADUACQA+AD8AbABtAG4AcABxAHIAeAAFAA0AAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAPAAMAAQABAAcAAQAQAAsAAQAVAA0AAQAWAA8AAQAXAB0AAQAsACsAAQBvADwAAQBEAGUAAQA8AGwAAQBzAB8AAwA6ADsAPQA7AAMAOAA5AEMAHwAEAC8AMAAxADIANQAJAD4APwBsAG0AbgBwAHEAcgB4AAUADQADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPAAIAJwASAAAAEQATABYAFwAZABoAHgAfACAAIgAkACUALAAvADAAMQAyACkAFgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAFQAcAB0AIQAjAAEALQAuAA8AAwABAAEABwABABAACwABABUADQABABYADwABABcAHQABACwAKwABAG8ANwABADkAPAABAEQAZQABADwAbAABAHMAHwADADoAOwA9AB8ABAAvADAAMQAyADUACQA+AD8AbABtAG4AcABxAHIAeAAFAA0AAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAPAAMAAQABAAcAAQAQAAsAAQAVAA0AAQAWAA8AAQAXAB0AAQAsACsAAQBvADwAAQBEAEAAAQA5AGUAAQA8AGwAAQBzAB8AAwA6ADsAPQAfAAQALwAwADEAMgA1AAkAPgA/AGwAbQBuAHAAcQByAHgABQANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8ACAADAAEAAQAHAAEAEAAdAAEALAArAAEAbwBsAAEAcwAfAAQALwAwADEAMgAwAAkAPgA/AGwAbQBuAHAAcQByAHgAKwANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8ACAADAAEAAQAHAAEAEAAdAAEALAArAAEAbwBsAAEAcwAfAAQALwAwADEAMgAyAAkAPgA/AGwAbQBuAHAAcQByAHgAKwANAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AAwAxAAEAKwAvAAMAGwAhACMALQAUAAAAEQASABMAFAAYABkAGgAcAB0AHgAfACAAIgAkACUAKgAsAC0ALgACADUAAwAbACEAIwAzABQAAAARABIAEwAUABgAGQAaABwAHQAeAB8AIAAiACQAJQAqACwALQAuAAQAOQABABIAIgACAEAAeQA7AAMAGwAhACMANwARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEAD8AAQASACAAAgBAAHkAQgADABsAIQAjAD0AEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgBGAAMAGwAhACMARAAUAAAAEQASABMAFAAYABkAGgAcAB0AHgAfACAAIgAkACUAKgAsAC0ALgAEADkAAQASACAAAgBAAHkASgADABsAIQAjAEgAEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ABAA5AAEAEgAnAAEAQABOAAMAGwAhACMATAARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgADAFIAAQAYAFQAAwAbACEAIwBQABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAwBYAAEAAgBaAAMAGwAhACMAVgASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAXgADABsAIQAjAFwAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAGIAAwAbACEAIwBgABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgBmAAMAGwAhACMAZAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAagADABsAIQAjAGgAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAG4AAwAbACEAIwBsABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgByAAMAGwAhACMAcAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAdgADABsAIQAjAHQAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAHoAAwAbACEAIwB4ABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgB+AAMAGwAhACMAfAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAWgADABsAIQAjAFYAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAIIAAwAbACEAIwCAABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgCGAAMAGwAhACMAhAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAigADABsAIQAjAIgAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAI4AAwAbACEAIwCMABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgCSAAMAGwAhACMAkAASAAAAEQASABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAlgADABsAIQAjAJQAEgAAABEAEgATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACAJoAAwAbACEAIwCYABIAAAARABIAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgCeAAMAGwAhACMAnAARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAIAKQAAQAsAKYAAQAtAKgAAQAuABAAAQB1ABEAAQB2ABIAAQB3AKIAAgAhACMAoAAMAAAAEQATABkAHAAdAB4AHwAgACIAJAAlAAgApAABACwApgABAC0AqAABAC4AEAABAHUAEQABAHYAEgABAHcArAACACEAIwCqAAwAAAARABMAGQAcAB0AHgAfACAAIgAkACUABACwAAEAFACyAAEAGwC0AAIAIQAjAK4AEAAAABEAEwAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAQAuAABABQAugABABsAvAACACEAIwC2ABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACADsAAwAbACEAIwA3ABEAAAARABMAFAAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAQAuAABABQAugABABsAwAACACEAIwC+ABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAEALgAAQAUALoAAQAbAMQAAgAhACMAwgAQAAAAEQATABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4ABAC4AAEAFAC6AAEAGwDIAAIAIQAjAMYAEAAAABEAEwAZABoAHAAdAB4AHwAgACIAJAAlACwALQAuAAIAzAADABsAIQAjAMoAEQAAABEAEwAUABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAgDQAAMAGwAhACMAzgARAAAAEQATABQAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgAIAKQAAQAsAKYAAQAtAKgAAQAuABAAAQB1ABEAAQB2ABIAAQB3ANQAAgAhACMA0gAMAAAAEQATABkAHAAdAB4AHwAgACIAJAAlAAIA2AACACEAIwDWABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgADANwAAQAaAN4AAgAhACMA2gAPAAAAEQATABkAHAAdAB4AHwAgACIAJAAlACwALQAuAAIA4gACACEAIwDgABAAAAARABMAGQAaABwAHQAeAB8AIAAiACQAJQAsAC0ALgACACUAAgAhACMAIwAQAAAAEQATABkAGgAcAB0AHgAfACAAIgAkACUALAAtAC4AAwDcAAEAGgDmAAIAIQAjAOQADwAAABEA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YQBiAGMAZABlAGYAZwBoAGkAagBrAGwAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AZgBEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAYwBaACMAIwBkAAAARABEAEQARABDADoAIwBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHACEAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAYABaACMAIwBkAF0ARABEAEQARABDADoAIwBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAGcARgA+ADwAZwBaACMAIwBkAAAARABEAEQARABDADoAIwBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAYABaACMAIwBkAGIARABEAEQARABDADoAIwBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAagBaACMAIwBkAAAARABEAEQARABDADoAIwBYAFgAVQBVAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAVgBWAFMAUwBTAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAFQAVABUAFEAUQBRAFEAUQBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAFIAUgBSAFIAUgBOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABOAE4ATgBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAE8ATwBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLAEsASwBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNAE0ATQBCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAEwATABCAEIAQgBCAEIAQgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ADkAOQA5ADkAOQAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkASQAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgASAAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAVABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABEAEQAFQBEAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARABEAEQARABDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEoASgAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABHAEcAFQBHAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAARwBHAEcARwBDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAADAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAAAAAAAAAkACwANAA8AEQAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAABcAFwAZABkAGwAAAB0AAAAAAB8AHwAfAB8AAABFAEUAFQBFAD4APgAfAB8AZQAfADUANQAAAAAARgA+ADwAAAAAACMAIwBkAAAAAAAAAEUARQBDADoAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjACkAIwAjAFwANQA1ADUAKwAkACQAJABsAAAAAAAAAAAANQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAHQAAAAAAAQAAAAAAAAAAACUAAAAAAAEAAAAAAAAAAABZAAAAAAABAQAAAAAAAAAAFgAAAAAAAQAAAAAAAAAAAEEAAAAAAAEBAAAAAAAAAABBAAAAAAABAQAAAAAAAAAAGwAAAAAAAQEAAAAAAAAAAAUAAAAAAAEAAAAAAAAAAAAYAAAAAAABAQAAAAAAAAAAEwAAAAAAAQEAAAAAAAAAACkAAAAAAAEB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cnlfZXhwcgBfcHJpbWFyeV9leHByAGx0X2V4cHIAZ3RfZXhwcgBfb3JfZXhwcgBfZmlsdGVyX2V4cHIAZXFfZXhwcgBtb2R1bG9fZXhwcgBhZGRpdGlvbl9leHByAHN1YnRyYWN0aW9uX2V4cHIAbXVsdGlwbGljYXRpb25fZXhwcgBkaXZpc2lvbl9leHByAF91bmlvbl9leHByAF9yZWxhdGlvbmFsX2V4cHIAX2ZpbHRlcl9wYXRoX2V4cHIAX2FkZGl0aXZlX2V4cHIAX211bHRpcGxpY2F0aXZlX2V4cHIAbHRlX2V4cHIAZ3RlX2V4cHIAX3ByZWRpY2F0ZV9leHByAG5lX2V4cHIAX2FuZF9leHByAF9tdWx0aXBseV9vcGVyYXRvcgBfbW9kdWxvX29wZXJhdG9yAF9kaXZpZGVfb3BlcmF0b3IAX2FiYnJldmlhdGVkX2F4aXNfc3BlY2lmaWVyAG51bWJlcgBhYmJyZXZpYXRlZF9zdGVwAGZ1bmN0aW9uX2NhbGwAc3RyaW5nX2xpdGVyYWwAeHBhdGgAYWJzb2x1dGVfcm9vdF9sb2NhdGlvbl9wYXRoAF9hYmJyZXZpYXRlZF9yZWxhdGl2ZV9sb2NhdGlvbl9wYXRoAGFiYnJldmlhdGVkX2Fic29sdXRlX2xvY2F0aW9uX3BhdGgAX3NsYXNoAHNlbGYAcHJlZGljYXRlAGF4aXNfbmFtZQBfcV9uYW1lAGZ1bmN0aW9uX25hbWUAdW5wcmVmaXhlZF9uYW1lAF9uY19uYW1lAF92YXJpYWJsZV9yZWZlcmVuY2UAZW5kAF9heGlzX25hbWVfdG9rZW45AF9heGlzX25hbWVfdG9rZW44AF9heGlzX25hbWVfdG9rZW43AF9heGlzX25hbWVfdG9rZW42AF9heGlzX25hbWVfdG9rZW41AG5vZGVfdHlwZV90ZXN0X3Rva2VuNABfYXhpc19uYW1lX3Rva2VuNABub2RlX3R5cGVfdGVzdF90b2tlbjMAX2F4aXNfbmFtZV90b2tlbjMAX2F4aXNfbmFtZV90b2tlbjEzAG5vZGVfdHlwZV90ZXN0X3Rva2VuMgBwcm9jZXNzaW5nX2luc3RydWN0aW9uX25hbWVfdGVzdF90b2tlbjIAbnVtYmVyX3Rva2VuMgBfbGl0ZXJhbF90b2tlbjIAcHJlZGljYXRlX3Rva2VuMgBfYXhpc19uYW1lX3Rva2VuMgBfYXhpc19uYW1lX3Rva2VuMTIAc3RlcF9yZXBlYXQxAGZ1bmN0aW9uX2NhbGxfcmVwZWF0MQBub2RlX3R5cGVfdGVzdF90b2tlbjEAcHJvY2Vzc2luZ19pbnN0cnVjdGlvbl9uYW1lX3Rlc3RfdG9rZW4xAHByZWZpeGVkX3dpbGRjYXJkX25hbWVfdGVzdF90b2tlbjEAX3ByaW1hcnlfZXhwcl90b2tlbjEAbHRfZXhwcl90b2tlbjEAZ3RfZXhwcl90b2tlbjEAb3JfZXhwcl90b2tlbjEAZXFfZXhwcl90b2tlbjEAYWRkaXRpb25fZXhwcl90b2tlbjEAc3VidHJhY3Rpb25fZXhwcl90b2tlbjEAdW5pb25fZXhwcl90b2tlbjEAbHRlX2V4cHJfdG9rZW4xAGd0ZV9leHByX3Rva2VuMQBuZV9leHByX3Rva2VuMQBhbmRfZXhwcl90b2tlbjEAX21vZHVsb19vcGVyYXRvcl90b2tlbjEAX2RpdmlkZV9vcGVyYXRvcl90b2tlbjEAX2F4aXNfc3BlY2lmaWVyX3Rva2VuMQBudW1iZXJfdG9rZW4xAGZ1bmN0aW9uX2NhbGxfdG9rZW4xAF9saXRlcmFsX3Rva2VuMQBwcmVkaWNhdGVfdG9rZW4xAF9heGlzX25hbWVfdG9rZW4xAF92YXJpYWJsZV9yZWZlcmVuY2VfdG9rZW4xAF9heGlzX25hbWVfdG9rZW4xMQBfYXhpc19uYW1lX3Rva2VuMTAALy8AAAAAAAAAAAAAIQAOACIAAgAkADcAJwADACgAIgApABsAKgA6ACsAMAAsACMALQAxAC4AHwAvACUAOgA5ADwALQA9ACsAPgAvAEAAIQBbABwAXQAdAGEAUABjAFUAZABKAG0AVwBuAFgAbwBaAHAAXAB0AEUAfAAkACIAAgAkADcAJwADACgAIgApABsAKgA6AC0AMQAuAB8ALwAlADoADQBAACEAYwBVAG4AWABwAFwAdABFAAAAAAAhAA4AJAA3ACgAIgApABsAKgA6ACsAMAAsACMALQAxAC8AJQA6ADgAPAAtAD0AKwA+AC8AWwAcAF0AHQBhABIAZAARAG0AEwBvABQAfAAkACEADgApABsAKgA6ACsAMAAsACMALQAxAC8AJQA6AA0APAAtAD0AKwA+AC8AWwAcAF0AHQBhABIAZAARAG0AEwBvABQAfAAkAAAAAAAAAAAALQAAAC4AAAAwAAAAOQAAAEEAAABaAAAAXwAAAF8AAABhAAAAegAAALcAAAC3AAAAwAAAANYAAADYAAAA9gAAAPgAAAB9AwAAfwMAAP8fAAAMIAAADSAAAD8gAABAIAAAcCAAAI8hAAAALAAA7y8AAAEwAAD/1wAAAPkAAM/9AADw/QAA/f8AAAAAAQD//w4ADgAAAHsAAAAAAAAAMwAAAAAAAABtAAAAFQAAAAUAAAACAAAABQAAAPAXAAAAAAAA8BAAACAsAADgPwAAzEEAAFASAABwEgAAkBIAABAUAAAGFQAAEBUAAFAVAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBcAAAAAAAAAAAAA4DkAAMM5AAC2PAAAET0AAA47AAB8OgAAVDoAACw6AAAaOgAACDoAAPY5AADkOQAAUT0AAD49AAAgOwAAjjoAAGw7AAC3OgAAAD0AAP06AABkPQAAhDkAAEk3AADDOAAAtzsAANs8AAA1PAAAfTkAAOo7AAB2PAAAZzwAAPk7AABHPAAAzDsAAFc8AADbOwAACDwAAB08AADwPAAA7ToAAM08AADfOgAAIz0AAJQ7AACcOwAAnjwAAIY8AABWOwAAoToAAGY6AAA+OgAAFDkAAG45AABmOQAAGjkAAEM5AABCOQAA8jgAANs2AADPNgAAkzkAADQ3AAAzNwAA9DYAAIk5AABsOAAAWjkAADY5AADmOAAAiTgAAIg4AAB+NwAA9zgAAKU5AABQNwAACDgAAAc4AAArOAAAJTgAACQ4AACmNwAApTcAAJ03AACcNwAAhTgAAIQ4AAB8OAAAsjcAAGM3AABaOAAAjDcAAGM4AACUNwAAEzgAAMY3AADUNwAANjgAAOU3AAD5NwAAujcAAEU4AABzNwAAcjcAAAU5AAALOQAA3zgAAM05AADMOQAAKDcAABU3AAAXNwAAHzcAAJ05AAC1OQAAszkAAMg2AAA+NwAAjjgAALI4AAChOAAA5TYAADM7AABAOwAAAAAAAFk3AADHOQAAAAAAAAAAAABBAAAAWgAAAF8AAABfAAAAYQAAAHoAAADAAAAA1gAAANgAAAD2AAAA+AAAAP8CAABwAwAAfQMAAH8DAAD/HwAADCAAAA0gAABwIAAAjyEAAAAsAADvLwAAATAAAP/XAAAA+QAAz/0AAPD9AAD9/wAAAAABAP//DgA=";
|
|
65
|
-
|
|
66
|
-
const webTreeSitter = "data:application/wasm;base64,AGFzbQEAAAAAEAhkeWxpbmsuMAEFoFoEGwABswEZYAF/AX9gAn9/AX9gAX8AYAN/f38AYAN/f38Bf2ACf38AYAR/f39/AX9gBX9/f39/AGAFf39/f38Bf2AAAGAEf39/fwBgAAF/YAh/f39/f39/fwF/YAd/f39/f39/AGAGf3x/f39/AX9gA39+fwF+YAp/f39/f39/f39/AGAGf39/f39/AGACfn8Bf2AHf39/f39/fwF/YAJ8fwF8YAR/f39/AX5gAAF8YAJ/fgBgAX8BfgK6AxAWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQAGFndhc2lfc25hcHNob3RfcHJldmlldzEHZmRfc2VlawAIA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAADZW52EmVtc2NyaXB0ZW5fZ2V0X25vdwAWA2VudiBfZW1zY3JpcHRlbl9nZXRfbm93X2lzX21vbm90b25pYwALA2VudhVfZW1zY3JpcHRlbl9tZW1jcHlfanMAAwNlbnYJX2Fib3J0X2pzAAkWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF9jbG9zZQAAA2Vudhp0cmVlX3NpdHRlcl9wYXJzZV9jYWxsYmFjawAHA2Vudhh0cmVlX3NpdHRlcl9sb2dfY2FsbGJhY2sABQNlbnYPX19zdGFja19wb2ludGVyA38BA2Vudg1fX21lbW9yeV9iYXNlA38AA2VudgxfX3RhYmxlX2Jhc2UDfwAHR09ULm1lbQtfX2hlYXBfYmFzZQN/AQNlbnYGbWVtb3J5AgGABICAAgNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwABsDiAKGAgUGBQQEBQQAAgMHBQUFBAAFBwIRAwAECAMDAwAAEgUDAgIBBgAABAEMAQIEBAUGAwoHBAIBAwoAAAUCBQAJAQMBAAgFAQEDCwECAgMCDAMBBAcNBwoDAwAABQEBBgoAExQEAAAABAUCBAQEBAAVAAUFBAoDBAQEAAAAAAgBFxgBAgEBBAQFAAIAAAgDAAAFAQAEAAQAAAsDAAIAAAAABAUOAAQBBA8AEBAAAAIJAAAAAAAADQICAAEAAAICAgICAgIAAgICAgUFBQAAAAECAgUBAAIAAAAAAAICAAAAAAAABQAAAAAAAAUCAgIBBQICAgIBAQIGCAMFCQsCAAAEAQABAQEACQkGOQh/AUHo0gALfwFB4NIAC38BQezSAAt/AUHk0gALfwFBgNQAC38BQZDUAAt/AUGY2gALfwFBnNoACwerHo0BEV9fd2FzbV9jYWxsX2N0b3JzAI8CGF9fd2FzbV9hcHBseV9kYXRhX3JlbG9jcwCOAgZtYWxsb2MAJQZjYWxsb2MALAdyZWFsbG9jAGQEZnJlZQA0GHRzX2xhbmd1YWdlX3N5bWJvbF9jb3VudACBARd0c19sYW5ndWFnZV9zdGF0ZV9jb3VudACNAhN0c19sYW5ndWFnZV92ZXJzaW9uAIkCF3RzX2xhbmd1YWdlX2ZpZWxkX2NvdW50AIYCFnRzX2xhbmd1YWdlX25leHRfc3RhdGUANRd0c19sYW5ndWFnZV9zeW1ib2xfbmFtZQD1ARt0c19sYW5ndWFnZV9zeW1ib2xfZm9yX25hbWUALQdzdHJuY21wACAXdHNfbGFuZ3VhZ2Vfc3ltYm9sX3R5cGUASB10c19sYW5ndWFnZV9maWVsZF9uYW1lX2Zvcl9pZADWARl0c19sb29rYWhlYWRfaXRlcmF0b3JfbmV3AMEBHHRzX2xvb2thaGVhZF9pdGVyYXRvcl9kZWxldGUAtQEhdHNfbG9va2FoZWFkX2l0ZXJhdG9yX3Jlc2V0X3N0YXRlAK0BG3RzX2xvb2thaGVhZF9pdGVyYXRvcl9yZXNldACsARp0c19sb29rYWhlYWRfaXRlcmF0b3JfbmV4dACrASR0c19sb29rYWhlYWRfaXRlcmF0b3JfY3VycmVudF9zeW1ib2wApwEGbWVtc2V0ABAGbWVtY3B5AA0QdHNfcGFyc2VyX2RlbGV0ZQCKAQ90c19wYXJzZXJfcmVzZXQAKxZ0c19wYXJzZXJfc2V0X2xhbmd1YWdlAIkBGHRzX3BhcnNlcl90aW1lb3V0X21pY3JvcwCXARx0c19wYXJzZXJfc2V0X3RpbWVvdXRfbWljcm9zAJUBHXRzX3BhcnNlcl9zZXRfaW5jbHVkZWRfcmFuZ2VzADwHbWVtbW92ZQAOBm1lbWNtcAAYDHRzX3F1ZXJ5X25ldwCFAQ90c19xdWVyeV9kZWxldGUAVAhpc3dzcGFjZQBtCGlzd2FsbnVtABkWdHNfcXVlcnlfcGF0dGVybl9jb3VudACEARZ0c19xdWVyeV9jYXB0dXJlX2NvdW50AIMBFXRzX3F1ZXJ5X3N0cmluZ19jb3VudACCARx0c19xdWVyeV9jYXB0dXJlX25hbWVfZm9yX2lkAIABHHRzX3F1ZXJ5X3N0cmluZ192YWx1ZV9mb3JfaWQAfx90c19xdWVyeV9wcmVkaWNhdGVzX2Zvcl9wYXR0ZXJuAH4YdHNfcXVlcnlfZGlzYWJsZV9jYXB0dXJlAH0MdHNfdHJlZV9jb3B5AIUCDnRzX3RyZWVfZGVsZXRlAIQCB3RzX2luaXQAgwISdHNfcGFyc2VyX25ld193YXNtAIICHHRzX3BhcnNlcl9lbmFibGVfbG9nZ2VyX3dhc20AgQIUdHNfcGFyc2VyX3BhcnNlX3dhc20A/wEedHNfcGFyc2VyX2luY2x1ZGVkX3Jhbmdlc193YXNtAP0BHnRzX2xhbmd1YWdlX3R5cGVfaXNfbmFtZWRfd2FzbQD8ASB0c19sYW5ndWFnZV90eXBlX2lzX3Zpc2libGVfd2FzbQD7ARZ0c190cmVlX3Jvb3Rfbm9kZV93YXNtAPoBInRzX3RyZWVfcm9vdF9ub2RlX3dpdGhfb2Zmc2V0X3dhc20A+QERdHNfdHJlZV9lZGl0X3dhc20A+AEcdHNfdHJlZV9pbmNsdWRlZF9yYW5nZXNfd2FzbQD3AR90c190cmVlX2dldF9jaGFuZ2VkX3Jhbmdlc193YXNtAPYBF3RzX3RyZWVfY3Vyc29yX25ld193YXNtAPQBGnRzX3RyZWVfY3Vyc29yX2RlbGV0ZV93YXNtAPMBGXRzX3RyZWVfY3Vyc29yX3Jlc2V0X3dhc20A8gEcdHNfdHJlZV9jdXJzb3JfcmVzZXRfdG9fd2FzbQDxASR0c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX3dhc20A8AEjdHNfdHJlZV9jdXJzb3JfZ290b19sYXN0X2NoaWxkX3dhc20A7wEudHNfdHJlZV9jdXJzb3JfZ290b19maXJzdF9jaGlsZF9mb3JfaW5kZXhfd2FzbQDuATF0c190cmVlX2N1cnNvcl9nb3RvX2ZpcnN0X2NoaWxkX2Zvcl9wb3NpdGlvbl93YXNtAO0BJXRzX3RyZWVfY3Vyc29yX2dvdG9fbmV4dF9zaWJsaW5nX3dhc20A7AEpdHNfdHJlZV9jdXJzb3JfZ290b19wcmV2aW91c19zaWJsaW5nX3dhc20A6wEjdHNfdHJlZV9jdXJzb3JfZ290b19kZXNjZW5kYW50X3dhc20A6gEfdHNfdHJlZV9jdXJzb3JfZ290b19wYXJlbnRfd2FzbQDpASh0c190cmVlX2N1cnNvcl9jdXJyZW50X25vZGVfdHlwZV9pZF93YXNtAOgBKXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9zdGF0ZV9pZF93YXNtAOcBKXRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9pc19uYW1lZF93YXNtAOYBK3RzX3RyZWVfY3Vyc29yX2N1cnJlbnRfbm9kZV9pc19taXNzaW5nX3dhc20A5QEjdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX2lkX3dhc20A5AEidHNfdHJlZV9jdXJzb3Jfc3RhcnRfcG9zaXRpb25fd2FzbQDjASB0c190cmVlX2N1cnNvcl9lbmRfcG9zaXRpb25fd2FzbQDiAR90c190cmVlX2N1cnNvcl9zdGFydF9pbmRleF93YXNtAOEBHXRzX3RyZWVfY3Vyc29yX2VuZF9pbmRleF93YXNtAOABJHRzX3RyZWVfY3Vyc29yX2N1cnJlbnRfZmllbGRfaWRfd2FzbQDfASF0c190cmVlX2N1cnNvcl9jdXJyZW50X2RlcHRoX3dhc20A3gEsdHNfdHJlZV9jdXJzb3JfY3VycmVudF9kZXNjZW5kYW50X2luZGV4X3dhc20A3QEgdHNfdHJlZV9jdXJzb3JfY3VycmVudF9ub2RlX3dhc20A3AETdHNfbm9kZV9zeW1ib2xfd2FzbQDbASF0c19ub2RlX2ZpZWxkX25hbWVfZm9yX2NoaWxkX3dhc20A2gEhdHNfbm9kZV9jaGlsZHJlbl9ieV9maWVsZF9pZF93YXNtANkBIXRzX25vZGVfZmlyc3RfY2hpbGRfZm9yX2J5dGVfd2FzbQDYASd0c19ub2RlX2ZpcnN0X25hbWVkX2NoaWxkX2Zvcl9ieXRlX3dhc20A1wEbdHNfbm9kZV9ncmFtbWFyX3N5bWJvbF93YXNtANUBGHRzX25vZGVfY2hpbGRfY291bnRfd2FzbQDUAR50c19ub2RlX25hbWVkX2NoaWxkX2NvdW50X3dhc20A0wESdHNfbm9kZV9jaGlsZF93YXNtANIBGHRzX25vZGVfbmFtZWRfY2hpbGRfd2FzbQDRAR50c19ub2RlX2NoaWxkX2J5X2ZpZWxkX2lkX3dhc20A0AEZdHNfbm9kZV9uZXh0X3NpYmxpbmdfd2FzbQDPARl0c19ub2RlX3ByZXZfc2libGluZ193YXNtAM4BH3RzX25vZGVfbmV4dF9uYW1lZF9zaWJsaW5nX3dhc20AzQEfdHNfbm9kZV9wcmV2X25hbWVkX3NpYmxpbmdfd2FzbQDMAR10c19ub2RlX2Rlc2NlbmRhbnRfY291bnRfd2FzbQDLARN0c19ub2RlX3BhcmVudF93YXNtAMoBIXRzX25vZGVfZGVzY2VuZGFudF9mb3JfaW5kZXhfd2FzbQDJASd0c19ub2RlX25hbWVkX2Rlc2NlbmRhbnRfZm9yX2luZGV4X3dhc20AyAEkdHNfbm9kZV9kZXNjZW5kYW50X2Zvcl9wb3NpdGlvbl93YXNtAMcBKnRzX25vZGVfbmFtZWRfZGVzY2VuZGFudF9mb3JfcG9zaXRpb25fd2FzbQDGARh0c19ub2RlX3N0YXJ0X3BvaW50X3dhc20AxQEWdHNfbm9kZV9lbmRfcG9pbnRfd2FzbQDEARh0c19ub2RlX3N0YXJ0X2luZGV4X3dhc20AwwEWdHNfbm9kZV9lbmRfaW5kZXhfd2FzbQDCARZ0c19ub2RlX3RvX3N0cmluZ193YXNtAMABFXRzX25vZGVfY2hpbGRyZW5fd2FzbQC/ARt0c19ub2RlX25hbWVkX2NoaWxkcmVuX3dhc20AvgEgdHNfbm9kZV9kZXNjZW5kYW50c19vZl90eXBlX3dhc20AvQEVdHNfbm9kZV9pc19uYW1lZF93YXNtALwBGHRzX25vZGVfaGFzX2NoYW5nZXNfd2FzbQC7ARZ0c19ub2RlX2hhc19lcnJvcl93YXNtALoBFXRzX25vZGVfaXNfZXJyb3Jfd2FzbQC5ARd0c19ub2RlX2lzX21pc3Npbmdfd2FzbQC4ARV0c19ub2RlX2lzX2V4dHJhX3dhc20AtwEYdHNfbm9kZV9wYXJzZV9zdGF0ZV93YXNtALQBHXRzX25vZGVfbmV4dF9wYXJzZV9zdGF0ZV93YXNtALMBFXRzX3F1ZXJ5X21hdGNoZXNfd2FzbQCyARZ0c19xdWVyeV9jYXB0dXJlc193YXNtALEBCGlzd2FscGhhAG4IaXN3YmxhbmsAngEIaXN3ZGlnaXQApAEIaXN3bG93ZXIAnwEIaXN3dXBwZXIAnAEJaXN3eGRpZ2l0AJoBBm1lbWNocgBrBnN0cmxlbgBsBnN0cmNtcACZAQdzdHJuY2F0AJ0BB3N0cm5jcHkAmwEIdG93bG93ZXIApgEIdG93dXBwZXIApQEIc2V0VGhyZXcAmAEZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZQCjARdfZW1zY3JpcHRlbl9zdGFja19hbGxvYwCiARxlbXNjcmlwdGVuX3N0YWNrX2dldF9jdXJyZW50AKABDGR5bkNhbGxfamlqaQCUAR1vcmlnJHRzX3BhcnNlcl90aW1lb3V0X21pY3JvcwCIASFvcmlnJHRzX3BhcnNlcl9zZXRfdGltZW91dF9taWNyb3MAhwEIArYBCToBACMCCxuOAY0BoQGWAZMBkgGRAY8BhgGMAooCiwKIAjaHApABjAGLATSAAv4BsAGuAa8BqgGpAagBCunLCoYCwAUCBn8BfgJAIAEtAABBAXENACAAQQA2AhAgASgCACICIAIoAgAiAkEBazYCACACQQFGBEAgACgCDCECIAAgACgCECIDQQFqIgQgACgCFCIFSwR/QQggBUEBdCIDIAQgAyAESxsiAyADQQhNGyIEQQN0IQMCfyACBEAgAiADIwQoAgARAQAMAQsgAyMFKAIAEQAACyECIAAgBDYCFCAAIAI2AgwgACgCECIDQQFqBSAECzYCECACIANBA3RqIAEpAgA3AgALIAAoAhAiAUUNAANAIAAgAUEBayIBNgIQAkAgACgCDCABQQN0aigCACIEKAIkIgIEQEEAIQFBACAEIAJBA3RrIARBAXEbIQMDQAJAIAMgAUEDdGopAgAiCKciAkEBcQ0AIAIgAigCACICQQFrNgIAIAJBAUcNACAAKAIMIQIgACAAKAIQIgZBAWoiBSAAKAIUIgdLBH9BCCAHQQF0IgYgBSAFIAZJGyIFIAVBCE0bIgZBA3QhBQJ/IAIEQCACIAUjBCgCABEBAAwBCyAFIwUoAgARAAALIQIgACAGNgIUIAAgAjYCDCAAKAIQIgZBAWoFIAULNgIQIAIgBkEDdGogCDcCAAsgAUEBaiIBIAQoAiRJDQALIAMjBigCABECAAwBCwJAIAQtACxBwABxRQ0AIAQoAkhBGUkNACAEKAIwIwYoAgARAgALAkAgACgCCCICRQ0AIAAoAgQiBUEBaiIBQSBLDQAgACgCACEDIAAgASACSwR/QQggAkEBdCICIAEgASACSRsiASABQQhNGyICQQN0IQECfyADBEAgAyABIwQoAgARAQAMAQsgASMFKAIAEQAACyEDIAAgAjYCCCAAIAM2AgAgACgCBCIFQQFqBSABCzYCBCADIAVBA3RqIAQ2AgAMAQsgBCMGKAIAEQIACyAAKAIQIgENAAsLCyUBAX8jAEEQayIEJAAgBCADNgIMIAAgASACIAMQZiAEQRBqJAAL0AEBA38CQCABKAJMIgJBAE4EQCACRQ0BIwFBmNUAaigCGCACQf////8DcUcNAQsCQCAAQf8BcSIDIAEoAlBGDQAgASgCFCICIAEoAhBGDQAgASACQQFqNgIUIAIgADoAAA8LIAEgAxBwDwsgAUHMAGoiAiACKAIAIgNB/////wMgAxs2AgACQAJAIABB/wFxIgQgASgCUEYNACABKAIUIgMgASgCEEYNACABIANBAWo2AhQgAyAAOgAADAELIAEgBBBwCyACKAIAGiACQQA2AgALggQBA38gAkGABE8EQCAAIAEgAhAFIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkUEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgJBA3FFDQEgAiADSQ0ACwsgA0F8cSEEAkAgA0HAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQID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ATYCAAutAQECf0H4ACMFIgEoAgARAABBAEHIABAQIgBCADcCcCAAQn83AmggAEIANwJgIABCgICAgHA3AlggAEKAgICAcDcCUCAAQv////8PNwJIQYABIAEoAgARAAAhASAAQQg2AiAgACABNgIYIAAoAixBB00EQAJ/IAAoAiQiAQRAIAFBgAEjBCgCABEBAAwBC0GAASMFKAIAEQAACyEBIABBCDYCLCAAIAE2AiQLIAALmgoBCH9BASECIAEoAgxBIkYEQCABKAIAIQggARARGiABKAIAIQMgAEEANgKIAQJ/A0ACQCABKAIMIQICfwJAAkAgBEEBcQRAIAAoAogBIQQCQAJAAkACQAJAIAJB7gBrDgcABAQEAQQCAwsgACgChAEhAiAAIARBAWoiAyAAKAKMASIFSwR/QQggBUEBdCIEIAMgAyAESRsiAyADQQhNGyEDAn8gAgRAIAIgAyMEKAIAEQEADAELIAMjBSgCABEAAAshAiAAIAM2AowBIAAgAjYChAEgACgCiAEiBEEBagUgAws2AogBIAIgBGpBCjoAAAwGCyAAKAKEASECIAAgBEEBaiIDIAAoAowBIgVLBH9BCCAFQQF0IgQgAyADIARJGyIDIANBCE0bIQMCfyACBEAgAiADIwQoAgARAQAMAQsgAyMFKAIAEQAACyECIAAgAzYCjAEgACACNgKEASAAKAKIASIEQQFqBSADCzYCiAEgAiAEakENOgAADAULIAAoAoQBIQIgACAEQQFqIgMgACgCjAEiBUsEf0EIIAVBAXQiBCADIAMgBEkbIgMgA0EITRshAwJ/IAIEQCACIAMjBCgCABEBAAwBCyADIwUoAgARAAALIQIgACADNgKMASAAIAI2AoQBIAAoAogBIgRBAWoFIAMLNgKIASACIARqQQk6AAAMBAsgAkEwRg0CCyAAKAKEASECIAEoAgAhBgJAIAQgAS0AECIDaiIFIAAoAowBTQ0AAn8gAgRAIAIgBSMEKAIAEQEADAELIAUjBSgCABEAAAshAiAAIAU2AowBIAAgAjYChAEgACgCiAEiByAETQ0AIAIgBWogAiAEaiAHIARrEA4aCwJAIANFDQAgAiAEaiECIAYEQCACIAYgAxANGgwBCyACQQAgAxAQGgsgACAAKAKIASADajYCiAEMAgsCQAJAAn8CQCACQdwARwRAIAJBCkYNBEEAIAJBIkcNBxogACgChAEhAiABKAIAIgggA2siBiAAKAKIASIEaiIFIAAoAowBTQ0DIAJFDQEgAiAFIwQoAgARAQAMAgsgACgChAEhAgJAIAEoAgAiByADayIGIAAoAogBIgRqIgUgACgCjAFNDQACfyACBEAgAiAFIwQoAgARAQAMAQsgBSMFKAIAEQAACyECIAAgBTYCjAEgACACNgKEASAAKAKIASIJIARNDQAgAiAFaiACIARqIAkgBGsQDhoLAkAgAyAHRg0AIAIgBGohAiADBEAgAiADIAYQDRoMAQsgAkEAIAYQEBoLIAAgACgCiAEgBmo2AogBIAEoAgBBAWohA0EBDAYLIAUjBSgCABEAAAshAiAAIAU2AowBIAAgAjYChAEgACgCiAEiByAETQ0AIAIgBWogAiAEaiAHIARrEA4aCwJAIAMgCEYNACACIARqIQIgAwRAIAIgAyAGEA0aDAELIAJBACAGEBAaCyAAIAAoAogBIAZqNgKIAUEADAYLDAMLIAAoAoQBIQIgACAEQQFqIgMgACgCjAEiBUsEf0EIIAVBAXQiBCADIAMgBEkbIgMgA0EITRshAwJ/IAIEQCACIAMjBCgCABEBAAwBCyADIwUoAgARAAALIQIgACADNgKMASAAIAI2AoQBIAAoAogBIgRBAWoFIAMLNgKIASACIARqQQA6AAALIAEoAgAgAS0AEGohA0EACyEEIAEQEQ0BCwsgAUEAOgAQIAEgCDYCAEEBCyECIAEQERoLIAILbgEDfyAAKAIEQQFqIgEgACgCCCICSwRAQQggAkEBdCICIAEgASACSRsiASABQQhNGyICQRRsIQECfyAAKAIAIgMEQCADIAEjBCgCABEBAAwBCyABIwUoAgARAAALIQEgACACNgIIIAAgATYCAAsLpQQBBH8gAARAIAAoAjwiAQRAIAEjBigCABECACAAQQA2AkQgAEIANwI8CyAAKAJIIgEEQCABIwYoAgARAgAgAEEANgJQIABCADcCSAsgACgCVCIBBEAgASMGKAIAEQIAIABBADYCXCAAQgA3AlQLIAAoAmAiAQRAIAEjBigCABECACAAQQA2AmggAEIANwJgCyAAKAJsIgEEQCABIwYoAgARAgAgAEEANgJ0IABCADcCbAsgACgChAEiAQRAIAEjBigCABECACAA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KAIgIQECQAJAIAUoAiQiAgRAQQAhBkEAIQAgAkEETwRAIAJBfHEhCEEAIQcDQCABIABBAnRqIgMoAgAjBiIKKAIAEQIAIAMoAgQgCigCABECACADKAIIIAooAgARAgAgAygCDCAKKAIAEQIAIABBBGohACAHQQRqIgcgCEcNAAsLIAJBA3EiAkUNAQNAIAEgAEECdGooAgAjBigCABECACAAQQFqIQAgBkEBaiIGIAJHDQALDAELIAFFDQELIAEjBigCABECACAFQQA2AiALIAUoAiwhAQJAAkAgBSgCMCICBEBBACEGQQAhACACQQRPBEAgAkF8cSEIQQAhBwNAIAEgAEECdGoiAygCACMGIgooAgARAgAgAygCBCAKKAIAEQIAIAMoAgggCigCABECACADKAIMIAooAgARAgAgAEEEaiEAIAdBBGoiByAIRw0ACwsgAkEDcSICRQ0BA0AgASAAQQJ0aigCACMGKAIAEQIAIABBAWohACAGQQFqIgYgAkcNAAsMAQsgAUUNAQsgASMGKAIAEQIAIAVBADYCLAsgBSgCOCEBAkACQCAFKAI8IgIEQEEAIQZBACEAIAJBBE8EQCACQXxxIQhBACEHA0AgASAAQQJ0aiIDKAIAIwYiCigCABECACADKAIEIAooAgARAgAgAygCCCAKKAIAEQIAIAMoAgwgCigCABECACAAQQRqIQAgB0EEaiIHIAhHDQALCyACQQNxIgJFDQEDQCABIABBAnRqKAIAIwYoAgARAgAgAEEBaiEAIAZBAWoiBiACRw0ACwwBCyABRQ0BCyABIwYoAgARAgAgBUEANgI4CyAFKAJEIQECQAJAIAUoAkgiAgRAQQAhBkEAIQAgAkEETwRAIAJBfHEhCEEAIQcDQCABIABBAnRqIgMoAgAjBiIKKAIAEQIAIAMoAgQgCigCABECACADKAIIIAooAgARAgAgAygCDCAKKAIAEQIAIABBBGohACAHQQRqIgcgCEcNAAsLIAJBA3EiAkUNAQNAIAEgAEECdGooAgAjBigCABECACAAQQFqIQAgBkEBaiIGIAJHDQALDAELIAFFDQELIAEjBigCABECAAsgBSgCUCIABEAgACMGKAIAEQIACyAFKAJcIgAEQCAAIwYoAgARAgALIBIEQCASIwYoAgARAgALIBUEQCAVIwYoAgARAgALIBQE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AygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC54FAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACABKQMAIQMgASkDCCEHIwBBIGsiASQAIAdC////////P4MhBQJ+IAdCMIhC//8BgyIEpyIJQYH4AGtB/Q9NBEAgBUIEhiADQjyIhCECIAlBgPgAa60hBAJAIANC//////////8PgyIDQoGAgICAgICACFoEQCACQgF8IQIMAQsgA0KAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiABshAiAArSAEfAwBCwJAIAMgBYRQDQAgBEL//wFSDQAgBUIEhiADQjyIhEKAgICAgICABIQhAkL/DwwBCyAJQf6HAUsEQEL/DwwBC0GA+ABBgfgAIARQIggbIgogCWsiAEHwAEoEQEIADAELIAMhAiAFIAVCgICAgICAwACEIAgbIgQhBgJAQYABIABrIghBwABxBEAgAiAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgWGIAJBwAAgCGutiIQhBiACIAWGIQILIAEgAjcDECABIAY3AxgCQCAAQcAAcQRAIAQgAEFAaq2IIQNCACEEDAELIABFDQAgBEHAACAAa62GIAMgAK0iAoiEIQMgBCACiCEECyABIAM3AwAgASAENwMIIAEpAwhCBIYgASkDACIDQjyIhCECAkAgCSAKRyABKQMQIAEpAxiEQgBSca0gA0L//////////w+DhCIDQoGAgICAgICACFoEQCACQgF8IQIMAQsgA0KAgICAgICAgAhSDQAgAkIBgyACfCECCyACQoCAgICAgIAIhSACIAJC/////////wdWIgAbIQIgAK0LIQMgAUEgaiQAIAdCgICAgICAgICAf4MgA0I0hoQgAoS/OQMAC68YAxJ/AXwDfiMAQbAEayILJAAgC0EANgIsAkAgAb0iGUIAUwRAIwFBCmohFEEBIRAgAZoiAb0hGQwBCyAEQYAQcQRAIwFBDWohFEEBIRAMAQsjAUEKaiIGQQZqIAZBAWogBEEBcSIQGyEUIBBFIRcLAkAgGUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQRAIABBICACIBBBA2oiByAEQf//e3EQFCAAIBQgEBAT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IQggAygACCELIAMoABAhDCADKAAEIQ0gASADKAAMNgIUIAEgDTYCDCABIAw2AgQgASALQQF2NgIQIAEgCEEBdjYCCCAJQQZqIQkgB0EBaiIHIAVHDQALCyAAQQFqIQAgBiAFQQZsaiELIwFB1NQAaigCACAKQSxqEE8NAAsLIwkiASMBQdTUAGooAgAtAHc2AgggASACNgIEIAEgADYCACAKQeAAaiQAC9kBAQN/IwBBMGsiASQAIAEjCSICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCFCgCCCEDAn8CfyABKAIQKAIAIgBBAXEEQEH//wMgAEEQdiICQf//A0YNAhogAEGA/gNxQQh2DAELQf//AyAALwEqIgJB//8DRg0BGiAALwEoCyEAIAMgAiAAQf//A3EQNQsgAUEwaiQAC3cBAn8jAEEwayIBJAAgASMJIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDACABEGEgAUEwaiQACwwAIAAjBigCABECAAtKACMBQejSAGokBCMBQeDSAGokBSMBQezSAGokBiMBQeTSAGokByMBQYDUAGokCCMBQZDUAGokCSMBQZjaAGokCiMBQZzaAGokCwubAQECfyMAQTBrIgEkACABIwkiAigCADYCKCABIAIoAgxBAXQ2AiAgASAANgIsIAEgASkCKDcDECABIAIoAhA2AiQgASABKQIgNwMIIAEgAigCCDYCHCABIAIoAgRBAXQ2AhggASABKQIYNwMAAn8gASgCECgCACIAQQFxBEAgAEEDdkEBcQwBCyAALwEsQQJ2QQFxCyABQTBqJAALmwEBAn8jAEEwayIBJAAgASMJIgIoAgA2AiggASACKAIMQQF0NgIgIAEgADYCLCABIAEpAig3AxAgASACKAIQNgIkIAEgASkCIDcDCCABIAIoAgg2AhwgASACKAIEQQF0NgIYIAEgASkCGDcDAAJ/IAEoAhAoAgAiAEEBcQRAIABBBXZBAXEMAQsgAC8BLEEJdkEB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JAAgAUEwaiQAIAMLtwEBBX8gASAAKAIUSQRAQSQjBSgCABEAACECAn8gACgCGCIEIAFNBEAgACgCLCAAKAIwIAEgBGtBAnRqKAIAQQF0aiIDQQJqIQUgAy8BAAwBCyAAKAIoIAAoAgQgAWxBAXRqQQJrIQNBAAshBiACQQA7ASAgAkKAgICA8P8/NwIYIAIgBjsBEiACQQA7ARAgAkEANgIMIAIgBTYCCCACIAM2AgQgAiAANgIAIAIgASAETzoAFAsgAgt6AQJ/IwBBMGsiASQAIAEjCSICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgARBiIAFBMGokAEEBdgt7AQJ/IwBBMGsiASQAIAEjCSICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwAgASgCACABQTBqJABBAXYLlgEBAn8jAEFAaiIBJAAgASMJIgIoAgA2AjggASACKAIMQQF0NgIwIAEgADYCPCABIAEpAjg3AxggASACKAIQNgI0IAEgASkCMDcDECABIAIoAgg2AiwgASACKAIEQQF0NgIoIAEgASkCKDcDCCABQSBqIAFBCGoQQyACIAEoAiA2AgAgAiABKAIkQQF2NgIEIAFBQGskAAueAQECfyMAQUBqIgEkACABIwkiAigCADYCOCABIAIoAgxBAXQ2AjAgASAANgI8IAEgASkCODcDGCABIAIoAhA2AjQgASABKQIwNwMQIAEgAigCCDYCLCABIAIoAgRBAXQ2AiggASABKQIoNwMIIAEgASgCDDYCICABIAEoAhA2AiQgAiABKAIgNgIAIAIgASgCJEEBdjYCBCABQUBrJAAL1wIBBn8jAEHwAGsiASQAIAEjCSICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBABBcIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAAL1wIBBn8jAEHwAGsiASQAIAEjCSICKAIANgJoIAEgAigCDEEBdDYCYCABIAA2AmwgASACKAIINgJcIAEgAigCEDYCZCABIAIoAgRBAXQ2AlggASACKAIYQQF0NgJUIAEgAigCFDYCUCACKAIgIQAgAigCHCEDIAEgASkCaDcDKCABIAEpAmA3AyAgASADNgJIIAEgASkCWDcDGCABIABBAXQ2AkwgASABKQJQNwMQIAEgASkCSDcDCCMAQSBrIgAkACABKAIMIQMgASgCCCEEIAEoAhQhBSABKAIQIQYgACABKQIoNwMYIAAgASkCIDcDECAAIAEpAhg3AwggAUEwaiAAQQhqIAYgBSAEIANBARBcIABBIGokACACIAEoAjw2AhAgAiABKAI0NgIIIAIgASgCQDYCACACIAEoAjhBAXY2AgwgAiABKAIwQQF2NgIEIAFB8ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2AjwgASACKAIEQQF0NgI4IAEgASkCODcDCCACKAIUQQF0IQMgAigCGEEBdCEEIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADIARBABBdIABBIGokACACIAEoAiw2AhAgAiABKAIkNgIIIAIgASgCMDYCACACIAEoAihBAXY2AgwgAiABKAIgQQF2NgIEIAFB0ABqJAALhgIBBH8jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCABIAEpAkg3AxggASACKAIQNgJEIAEgAykCADcDECABIAIoAgg2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ACACKAI0IQALIAFBMGokACAAC5oBAQJ/IwBBMGsiASQAIAEjCSICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwBBACEAAkAgASgCECgCACICQQFxDQAgAigCJEUNACACKAIwIQALIAFBMGokACAAC5wBAQJ/IwBBMGsiASQAIAEjCSICKAIANgIoIAEgAigCDEEBdDYCICABIAA2AiwgASABKQIoNwMQIAEgAigCEDYCJCABIAEpAiA3AwggASACKAIINgIcIAEgAigCBEEBdDYCGCABIAEpAhg3AwACfyABKAIQKAIAIgBBAXEEQCAAQYD+A3FBCHYMAQsgAC8BKAtB//8DcSABQTBqJAALKgECfwJAIAAoAiAiA0UNACABIANLDQAgACgCPCABQQJ0aigCACECCyACC/oBAQN/IwBB0ABrIgEkACABIwkiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAigCFEEBdCEDIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADQQAQXiAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC/oBAQN/IwBB0ABrIgEkACABIwkiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAigCFEEBdCEDIwBBIGsiACQAIAAgASkCGDcDGCAAIAEpAhA3AxAgACABKQIINwMIIAFBIGogAEEIaiADQQEQXiAAQSBqJAAgAiABKAIsNgIQIAIgASgCJDYCCCACIAEoAjA2AgAgAiABKAIoQQF2NgIMIAIgASgCIEEBdjYCBCABQdAAaiQAC4kEAQl/IwBBgAFrIgIkACACIwki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Awg3AhggAUEMahAuIAAgASkCEDcDACAAIAEpAhg3AwggAUEgaiQAC6oCAQR/IwBBMGsiAiQAIAIgADYCHCACIwkiBCkDADcCICACIAQpAwg3AiggAiAEKQMQNwIMIAIgBCkDGDcCFCACIAE2AgggAiACKAIINgIcIAIvARghACACQQA2AiQgAiAAOwEsIAIoAiAhACACKAIMIQUCQAJAIAIoAhAiASACKAIoSwRAIAFBHGwhAwJ/IAAEQCAAIAMjBCgCABEBAAwBCyADIwUoAgARAAALIQAgAiABNgIoIAIgADYCICACKAIkIgNFDQEgACABQRxsaiAAIANBHGwQDhoMAQsgAUUNAQsgAUEcbCEDIAUEQCAAIAUgAxANGgwBCyAAQQAgAxAQGgsgAiACKAIkIAFqNgIkIAQgAikCIDcDACAEIAIpAig3AwggAkEwaiQAC9kBAgh/AX4jAEHQAGsiASQAIAEjCSICKAIANgJIIAFBQGsiAyACKAIMQQF0NgIAIAEgADYCTCACKAIgIQQgAikDGCEJIAIoAhQhBSACKAIEIQYgAigCCCEHIAIoAhAhCCABIAEpAkg3AxggASAINgJEIAEgAykCADcDECABIAc2AjwgASAGQQF0NgI4IAEgBTYCKCABIAk3AiwgASAENgI0IAEgADYCJCABIAEpAjg3AwggAUEkaiABQQhqECggAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC1MBAX8jAEEgayIBJAAgASAANgIMIAEjCSIAKQMANwIQIAEgACkDCDcCGCABKAIQIgAEQCAAIwYoAgARAgAgAUEANgIYIAFCADcCEAsgAUEgaiQAC5oBAQN/IwBB0ABrIgEkACABIwkiAigCADYCSCABQUBrIgMgAigCDEEBdDYCACABIAA2AkwgASABKQJINwMYIAEgAigCEDYCRCABIAMpAgA3AxAgASACKAIINgI8IAEgAigCBEEBdDYCOCABIAEpAjg3AwggAUEkaiABQQhqEHkgAiABKQIoNwMAIAIgASkCMDcDCCABQdAAaiQAC04BAX8jAUHdCWohAgJAAkACQCABQf7/A2sOAgACAQsjAUHcCWoPC0EAIQIgACgCCCAAKAIEaiABTQ0AIAAoAjggAUECdGooAgAhAgsgAgu9LQIafwN+IwBBEGsiFSQAIwBBQGoi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AjYCnAlBgAIgASgCABEAACEBIABCADcCiAkgAEKAgICAgAQ3AoAJIAAgATYC/AggAEGQCWpBADYCACAAQfwIaiIEIQJBAUE4IwcoAgARAQAiAUIANwIAIAFCADcCKCABQgA3AiAgAUIANwIYIAFCADcCECABQgA3AghBgAEjBSgCABEAACEDIAFBBDYCCCABIAM2AgAgASgCFEEDTQRAAn8gASgCDCIDBEAgA0HAACMEKAIAEQEADAELQcAAIwUoAgARAAALIQMgAUEENgIUIAEgAzYCDAsgASgCIEEDTQRAAn8gASgCGCIDBEAgA0HgACMEKAIAEQEADAELQeAAIwUoAgARAAALIQMgAUEENgIgIAEgAzYCGAsgASgCLEExTQRAAn8gASgCJCIDBEAgA0HIASMEKAIAEQEADAELQcgBIwUoAgARAAALIQMgAUEyNgIsIAEgAzYCJAsgASACNgI0An8gASgCKCICBEAgASACQQFrIgI2AiggASgCJCACQQJ0aigCAAwBC0GkASMFKAIAEQAACyICQQE7AQAgAkECakEAQZIBEBAaIAJCADcCBCACQQE2ApQBIAJBADYCDCACQgA3ApgBIAJBADYCoAEgASACNgIwIAEQPSAAQgA3A+gJIABBADYCqAkgACABNgL4CCAAQfAJakIANwMAIABCADcDmAogAEIANwK0CiAAQQA2AqwKIABCADcCpAogAEEANgKQCiAAQgA3A4gKIABCADcC/AkgAEEANgKUCSAAQbwKakIANwIAIABBxApqQQA6AAAgACgC1AkEQCAFIABB1AlqKQIANwMIIAQgBUEIahAKCyAAKALcCQRAIAUgAEHcCWopAgA3AwAgBCAFEAoLIABBADYC5AkgAEEANgLUCSAAQQA2AtwJIAVBEGokACAGQYDQAEEBECw2AgQgBiAANgIACxQBAX8jCSIAQo6AgIDQATcDACAAC6UCAQl/IwBBIGsiAiQAIAAEQCACQgA3AxggAkIANwMQIAJCADcDCCACIAApAgA3AwAgAkEIaiACEAogAigCCCIEBEACQCACKAIMIgNFDQAgA0EETwRAIANBfHEhCQNAIAQgAUEDdGoiBSgCACMGIgYoAgARAgAgBSgCCCAGKAIAEQIAIAUoAhAgBigCABECACAFKAIYIAYoAgARAgAgAUEEaiEBIAhBBGoi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b2w6JXMsIGZpcnN0X2xlYWZfc3ltYm9sOiVzAHNraXBfdG9rZW4gc3ltYm9sOiVzAGlnbm9yZV9lbXB0eV9leHRlcm5hbF90b2tlbiBzeW1ib2w6JXMAcmV1c2FibGVfbm9kZV9oYXNfZGlmZmVyZW50X2V4dGVybmFsX3NjYW5uZXJfc3RhdGUgc3ltYm9sOiVzAHJldXNlX25vZGUgc3ltYm9sOiVzAHBhc3RfcmV1c2FibGVfbm9kZSBzeW1ib2w6JXMAYmVmb3JlX3JldXNhYmxlX25vZGUgc3ltYm9sOiVzAGNhbnRfcmV1c2Vfbm9kZV8lcyB0cmVlOiVzAGJyZWFrZG93bl90b3Bfb2Zfc3RhY2sgdHJlZTolcwAoJXMAZGV0ZWN0X2Vycm9yAGlzX2Vycm9yAHNraXBfdW5yZWNvZ25pemVkX2NoYXJhY3RlcgBuYW4AXG4AaXNfbWlzc2luZwByZXN1bWVfcGFyc2luZwByZWNvdmVyX2VvZgBpbmYAbmV3X3BhcnNlAGNvbmRlbnNlAGRvbmUAaXNfZnJhZ2lsZQBjb250YWluc19kaWZmZXJlbnRfaW5jbHVkZWRfcmFuZ2UAc2tpcCBjaGFyYWN0ZXI6JWQAY29uc3VtZSBjaGFyYWN0ZXI6JWQAc2VsZWN0X2hpZ2hlcl9wcmVjZWRlbmNlIHN5bWJvbDolcywgcHJlYzolZCwgb3Zlcl9zeW1ib2w6JXMsIG90aGVyX3ByZWM6JWQAc2hpZnRfZXh0cmEAbm9fbG9va2FoZWFkX2FmdGVyX25vbl90ZXJtaW5hbF9leHRyYQBfX1JPT1RfXwBfRVJST1IATkFOAElORgBJTlZBTElEAGxleGVkX2xvb2thaGVhZCBzeW06ACAwMDAwMDAwMDAwMDAQMDAALgAoJXMpAChudWxsKQAoTlVMTCkAKCIlcyIpACdcdCcAJ1xyJwAnXG4nAHNraXAgY2hhcmFjdGVyOiclYycAY29uc3VtZSBjaGFyYWN0ZXI6JyVjJwAnXDAnACIlcyIAKE1JU1NJTkcgAChVTkVYUEVDVEVEIAAlczogAAoKAAAAAAAAAAAAAQAAAAAAAAAAAAAA//////////8AAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4PDw8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAEAAAACAAAAAAAAABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISUoRS0xNTk9QURBSU1RVVldYWVpbXF0QXl9gEBEREWFiYxAQEBAQEBAQEBARERERZBAQEBAQEBAQEBAQEBAQEBERZRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERZmcQEGhpERERERERERERERERERERERERERERERFqERFrEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFsbRAQEBAQEBAQEG4QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEG9wcXIQEBAQEBAQEHN0dRAQEBAQdncQEBAQeBAQeRAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN+8QNf///v///////////+///////////////////////8D/P///////////////////////////v///38C//////8BAAAAAP+/tgD///+HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8B/wcAAAAAAAD//98/AADw//gD////////////7//f4f/P//7/75/5///9xeOfWYCwz/8DEO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAe7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADv3/3///3/498dYAfP/wAA79/9///97+PfHWBAz/8GAO/f/f/////n313wgM//APzs/3/8///7L3+AX//A/wwA/v////9//wc/IP8DAAAAANb3//+v//87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP///////////8//////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////wcAAAAA//8AAP////////////8/P/7//////////////////////////////////////////////////////////5////7//wf////////////H/wH/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wH//////wf//////////z8A////f/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////fwD/4///////P/8B///////nAAAAAADebwT///////////////////////////////8AAAAAgP8fAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8PAAAAAAAAAAAAAAAAAAAAAAAAAP///////38A//8/AP8AAAAAAAAAAAAAAAAAAAAAAAAAP/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//AwAAAAAAAAAAAAAAAAD///////////8BAAAAAAAA////////BwD///////8HAP//////AP8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H4AA//8/AAAAAAAAAAAAAAAAAAAAAAAAAP//fwD//////////z8AAADA/wAA/P///////wEAAP///wH/A////////8f/cAD/////RwD//////////x4A/xcAAAAA///7////n0AAAAAAAAAAAH+9/7//Af////////8B/wPvn/n///3t458ZgeAPAAAAAAAAAAAAAAAAAAAAAAAAAP//////////uwf/gwAAAAD//////////7MA/wMAAAAAAAAAAAAAAAAAAAAAAAAAAP///////z9/AAAAPwAAAAD/////////fxEA/wMAAAAA////////PwH/AwAAAAAAAP///+f/B/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAD///////////8DAIAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8///////8GgAAAP///////+d/AAD///////////8gAAAAAP////////8B//3/////f38BAP8DAAD8/////P///n8AAAAAAAAAAAB/+/////9/tMsA/wO//f///397Af8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//38A/////////////////////////wMAAAAAAAAAAAAAAAD/////////////////fwAA////////////////////////////////DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////8B////f/8DAAAAAAAAAAAAAAAA////PwAA////////AAAPAP8D+P//4P//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAP///////////4f/////////gP//AAAAAAAAAAALAAAA/////////////////////////////////////////wD///////////////////////////////////////8HAP///38AAAAAAAAHAPAA/////////////////////////////////////////////////////////////////w//////////////////B/8f/wH/QwAAAAAAAAAAAAAAAP/////////////f///////////fZN7/6+//////////v+ff3////3tf/P3//////////////////////////////////////////////////////z/////9///3////9///3////9///3////9//////f////3///fP////////f///+dsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////x+AP/9DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////D/8D////////////////////////////////HwAAAAAAAAD//////////48I/wMAAAAAAAAAAAAAAAAAAAAAAAAAAO////+W/vcKhOqWqpb3917/+/8P7vv/DwAAAAAAAAAAAAAAAAAA////A////wP///8DAAAAAAAAAAAAAAAAAAAgAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAAAAAAAAAAAZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAADAxMjM0NTY3ODlBQkNERUYACAAAVgEAADkAAAAAAAAAAAAAAAEgAAAA4P//AL8dAADnAgAAeQAAAiQAAAEBAAAA////AAAAAAECAAAA/v//ATn//wAY//8Bh///ANT+/wDDAAAB0gAAAc4AAAHNAAABTwAAAcoAAAHLAAABzwAAAGEAAAHTAAAB0QAAAKMAAAHVAAAAggAAAdYAAAHaAAAB2QAAAdsAAAA4AAADAAAAALH//wGf//8ByP//AigkAAAAAAABAQAAAP///wAz//8AJv//AX7//wErKgABXf//ASgqAAA/KgABPf//AUUAAAFHAAAAHyoAABwqAAAeKgAALv//ADL//wA2//8ANf//AE+lAABLpQAAMf//ACilAABEpQAAL///AC3//wD3KQAAQaUAAP0pAAAr//8AKv//AOcpAABDpQAAKqUAALv//wAn//8Auf//ACX//wAVpQAAEqUAAiRMAAAAAAABIAAAAOD//wEBAAAA////AFQAAAF0AAABJgAAASUAAAFAAAABPwAAANr//wDb//8A4f//AMD//wDB//8BCAAAAML//wDH//8A0f//AMr//wD4//8Aqv//ALD//wAHAAAAjP//AcT//wCg//8B+f//AhpwAAEBAAAA////ASAAAADg//8BUAAAAQ8AAADx//8AAAAAATAAAADQ//8BAQAAAP///wAAAAAAwAsAAWAcAAAAAAAB0JcAAQgAAAD4//8CBYoAAAAAAAFA9P8Anuf/AMKJAADb5/8Akuf/AJPn/wCc5/8Anef/AKTn/wAAAAAAOIoAAASKAADmDgABAQAAAP///wAAAAAAxf//AUHi/wIdjwAACAAAAfj//wAAAAAAVgAAAar//wBKAAAAZAAAAIAAAABwAAAAfgAAAAkAAAG2//8B9///ANvj/wGc//8BkP//AYD//wGC//8CBawAAAAAAAEQAAAA8P//ARwAAAEBAAABo+L/AUHf/wG63/8A5P//AguxAAEBAAAA////ATAAAADQ//8AAAAAAQnW/wEa8f8BGdb/ANXV/wDY1f8B5NX/AQPW/wHh1f8B4tX/AcHV/wAAAAAAoOP/AAAAAAEBAAAA////Agy8AAAAAAABAQAAAP///wG8Wv8BoAMAAfx1/wHYWv8AMAAAAbFa/wG1Wv8Bv1r/Ae5a/wHWWv8B61r/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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKysrKysrKysrKysrVVZWVlZWVlZWVlZWVg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCsrKysrKysrKysrBwBWVlZWVlZWVlZWVlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQrKysrKysrKysrKysrKysrBwAAAABWVlZWVlZWVlZWVlZWVlZWVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKysrKysrKysrK1ZWVlZWVlZWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKysrKysrKysrK1ZWVlZWVlZWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKysrKysrKysrVVZWVlZWVlZWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYnUW93AAAAAAAAAAAAAHwAAH8AAAAAAAAAAIOOkpcAqgAAAAAAAAAAAAC0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMbJAAAA2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3gAAAADhAAAAAAAAAOQAAAAAAAAAAAAAAOcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAABEAAAASAAAABQAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAABcAAAAoKwAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcCkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
67
|
-
|
|
68
|
-
const ambiguousGlobalThis = globalThis;
|
|
69
|
-
const IS_NODE_RUNTIME = (
|
|
70
|
-
// Previously we only checked that this global object is defined...
|
|
71
|
-
typeof ambiguousGlobalThis.process === "object" && ambiguousGlobalThis.process !== null && // ... we have added this heuristic to adapt to a change in Vitest's browser
|
|
72
|
-
// mode, which began poulating `process.env` (via Vite's `define` config) with
|
|
73
|
-
// some conditions apparently used to mollify `testing-library`. It isn't
|
|
74
|
-
// exactly clear why any `testing-library` packages are installed by Vitest
|
|
75
|
-
// itself (though it appears there is some guidance to use it and/or its
|
|
76
|
-
// framework-specific variants for certain browser testing scenarios since
|
|
77
|
-
// @vitest/browser v2).
|
|
78
|
-
typeof ambiguousGlobalThis.process.versions?.node === "string"
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
var treeSitter = {exports: {}};
|
|
82
|
-
|
|
83
|
-
(function (module, exports) {
|
|
84
|
-
// include: shell.js
|
|
85
|
-
// The Module object: Our interface to the outside world. We import
|
|
86
|
-
// and export values on it. There are various ways Module can be used:
|
|
87
|
-
// 1. Not defined. We create it here
|
|
88
|
-
// 2. A function parameter, function(moduleArg) => Promise<Module>
|
|
89
|
-
// 3. pre-run appended it, var Module = {}; ..generated code..
|
|
90
|
-
// 4. External script tag defines var Module.
|
|
91
|
-
// We need to check if Module already exists (e.g. case 3 above).
|
|
92
|
-
// Substitution will be replaced with actual code on later stage of the build,
|
|
93
|
-
// this way Closure Compiler will not mangle it (e.g. case 4. above).
|
|
94
|
-
// Note that if you want to run closure, and also to use Module
|
|
95
|
-
// after the generated code, you will need to define var Module = {};
|
|
96
|
-
// before the code. Then that object will be used in the code, and you
|
|
97
|
-
// can continue to use Module afterwards as well.
|
|
98
|
-
var Module = typeof Module != "undefined" ? Module : {};
|
|
99
|
-
|
|
100
|
-
// Determine the runtime environment we are in. You can customize this by
|
|
101
|
-
// setting the ENVIRONMENT setting at compile time (see settings.js).
|
|
102
|
-
// Attempt to auto-detect the environment
|
|
103
|
-
var ENVIRONMENT_IS_WEB = typeof window == "object";
|
|
104
|
-
var ENVIRONMENT_IS_WORKER = typeof importScripts == "function";
|
|
105
|
-
|
|
106
|
-
// N.b. Electron.js environment is simultaneously a NODE-environment, but
|
|
107
|
-
// also a web environment.
|
|
108
|
-
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string";
|
|
109
|
-
|
|
110
|
-
// --pre-jses are emitted after the Module integration code, so that they can
|
|
111
|
-
// refer to Module (if they choose; they can also define Module)
|
|
112
|
-
// include: /src/lib/binding_web/prefix.js
|
|
113
|
-
var TreeSitter = function () {
|
|
114
|
-
var initPromise;
|
|
115
|
-
var document = typeof window == "object" ? {
|
|
116
|
-
currentScript: window.document.currentScript
|
|
117
|
-
} : null;
|
|
118
|
-
class Parser {
|
|
119
|
-
constructor() {
|
|
120
|
-
this.initialize();
|
|
121
|
-
}
|
|
122
|
-
initialize() {
|
|
123
|
-
throw new Error("cannot construct a Parser before calling `init()`");
|
|
124
|
-
}
|
|
125
|
-
static init(moduleOptions) {
|
|
126
|
-
if (initPromise) return initPromise;
|
|
127
|
-
Module = Object.assign({}, Module, moduleOptions);
|
|
128
|
-
return initPromise = new Promise(resolveInitPromise => {
|
|
129
|
-
// end include: /src/lib/binding_web/prefix.js
|
|
130
|
-
// Sometimes an existing Module object exists with properties
|
|
131
|
-
// meant to overwrite the default module functionality. Here
|
|
132
|
-
// we collect those properties and reapply _after_ we configure
|
|
133
|
-
// the current environment's defaults to avoid having to be so
|
|
134
|
-
// defensive during initialization.
|
|
135
|
-
var moduleOverrides = Object.assign({}, Module);
|
|
136
|
-
var arguments_ = [];
|
|
137
|
-
var thisProgram = "./this.program";
|
|
138
|
-
var quit_ = (status, toThrow) => {
|
|
139
|
-
throw toThrow;
|
|
140
|
-
};
|
|
141
|
-
// `/` should be present at the end if `scriptDirectory` is not empty
|
|
142
|
-
var scriptDirectory = "";
|
|
143
|
-
function locateFile(path) {
|
|
144
|
-
if (Module["locateFile"]) {
|
|
145
|
-
return Module["locateFile"](path, scriptDirectory);
|
|
146
|
-
}
|
|
147
|
-
return scriptDirectory + path;
|
|
148
|
-
}
|
|
149
|
-
// Hooks that are implemented differently in different runtime environments.
|
|
150
|
-
var readAsync, readBinary;
|
|
151
|
-
if (ENVIRONMENT_IS_NODE) {
|
|
152
|
-
// These modules will usually be used on Node.js. Load them eagerly to avoid
|
|
153
|
-
// the complexity of lazy-loading.
|
|
154
|
-
var fs = require$$0;
|
|
155
|
-
var nodePath = require$$1;
|
|
156
|
-
scriptDirectory = __dirname + "/";
|
|
157
|
-
// include: node_shell_read.js
|
|
158
|
-
readBinary = filename => {
|
|
159
|
-
// We need to re-wrap `file://` strings to URLs. Normalizing isn't
|
|
160
|
-
// necessary in that case, the path should already be absolute.
|
|
161
|
-
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
162
|
-
var ret = fs.readFileSync(filename);
|
|
163
|
-
return ret;
|
|
164
|
-
};
|
|
165
|
-
readAsync = (filename, binary = true) => {
|
|
166
|
-
// See the comment in the `readBinary` function.
|
|
167
|
-
filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename);
|
|
168
|
-
return new Promise((resolve, reject) => {
|
|
169
|
-
fs.readFile(filename, binary ? undefined : "utf8", (err, data) => {
|
|
170
|
-
if (err) reject(err);else resolve(binary ? data.buffer : data);
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
};
|
|
174
|
-
// end include: node_shell_read.js
|
|
175
|
-
if (!Module["thisProgram"] && process.argv.length > 1) {
|
|
176
|
-
thisProgram = process.argv[1].replace(/\\/g, "/");
|
|
177
|
-
}
|
|
178
|
-
arguments_ = process.argv.slice(2);
|
|
179
|
-
{
|
|
180
|
-
module["exports"] = Module;
|
|
181
|
-
}
|
|
182
|
-
quit_ = (status, toThrow) => {
|
|
183
|
-
process.exitCode = status;
|
|
184
|
-
throw toThrow;
|
|
185
|
-
};
|
|
186
|
-
} else
|
|
187
|
-
// Note that this includes Node.js workers when relevant (pthreads is enabled).
|
|
188
|
-
// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
|
|
189
|
-
// ENVIRONMENT_IS_NODE.
|
|
190
|
-
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
191
|
-
if (ENVIRONMENT_IS_WORKER) {
|
|
192
|
-
// Check worker, not web, since window could be polyfilled
|
|
193
|
-
scriptDirectory = self.location.href;
|
|
194
|
-
} else if (typeof document != "undefined" && document.currentScript) {
|
|
195
|
-
// web
|
|
196
|
-
scriptDirectory = document.currentScript.src;
|
|
197
|
-
}
|
|
198
|
-
// blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
|
|
199
|
-
// otherwise, slice off the final part of the url to find the script directory.
|
|
200
|
-
// if scriptDirectory does not contain a slash, lastIndexOf will return -1,
|
|
201
|
-
// and scriptDirectory will correctly be replaced with an empty string.
|
|
202
|
-
// If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
|
|
203
|
-
// they are removed because they could contain a slash.
|
|
204
|
-
if (scriptDirectory.startsWith("blob:")) {
|
|
205
|
-
scriptDirectory = "";
|
|
206
|
-
} else {
|
|
207
|
-
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
|
|
208
|
-
}
|
|
209
|
-
{
|
|
210
|
-
// include: web_or_worker_shell_read.js
|
|
211
|
-
if (ENVIRONMENT_IS_WORKER) {
|
|
212
|
-
readBinary = url => {
|
|
213
|
-
var xhr = new XMLHttpRequest();
|
|
214
|
-
xhr.open("GET", url, false);
|
|
215
|
-
xhr.responseType = "arraybuffer";
|
|
216
|
-
xhr.send(null);
|
|
217
|
-
return new Uint8Array(/** @type{!ArrayBuffer} */xhr.response);
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
readAsync = url => {
|
|
221
|
-
// Fetch has some additional restrictions over XHR, like it can't be used on a file:// url.
|
|
222
|
-
// See https://github.com/github/fetch/pull/92#issuecomment-140665932
|
|
223
|
-
// Cordova or Electron apps are typically loaded from a file:// url.
|
|
224
|
-
// So use XHR on webview if URL is a file URL.
|
|
225
|
-
if (isFileURI(url)) {
|
|
226
|
-
return new Promise((reject, resolve) => {
|
|
227
|
-
var xhr = new XMLHttpRequest();
|
|
228
|
-
xhr.open("GET", url, true);
|
|
229
|
-
xhr.responseType = "arraybuffer";
|
|
230
|
-
xhr.onload = () => {
|
|
231
|
-
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
|
|
232
|
-
// file URLs can return 0
|
|
233
|
-
resolve(xhr.response);
|
|
234
|
-
}
|
|
235
|
-
reject(xhr.status);
|
|
236
|
-
};
|
|
237
|
-
xhr.onerror = reject;
|
|
238
|
-
xhr.send(null);
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
return fetch(url, {
|
|
242
|
-
credentials: "same-origin"
|
|
243
|
-
}).then(response => {
|
|
244
|
-
if (response.ok) {
|
|
245
|
-
return response.arrayBuffer();
|
|
246
|
-
}
|
|
247
|
-
return Promise.reject(new Error(response.status + " : " + response.url));
|
|
248
|
-
});
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
} else
|
|
252
|
-
// end include: web_or_worker_shell_read.js
|
|
253
|
-
;
|
|
254
|
-
var out = Module["print"] || console.log.bind(console);
|
|
255
|
-
var err = Module["printErr"] || console.error.bind(console);
|
|
256
|
-
// Merge back in the overrides
|
|
257
|
-
Object.assign(Module, moduleOverrides);
|
|
258
|
-
// Free the object hierarchy contained in the overrides, this lets the GC
|
|
259
|
-
// reclaim data used.
|
|
260
|
-
moduleOverrides = null;
|
|
261
|
-
// Emit code to handle expected values on the Module object. This applies Module.x
|
|
262
|
-
// to the proper local x. This has two benefits: first, we only emit it if it is
|
|
263
|
-
// expected to arrive, and second, by using a local everywhere else that can be
|
|
264
|
-
// minified.
|
|
265
|
-
if (Module["arguments"]) arguments_ = Module["arguments"];
|
|
266
|
-
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
|
|
267
|
-
if (Module["quit"]) quit_ = Module["quit"];
|
|
268
|
-
// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
|
|
269
|
-
// end include: shell.js
|
|
270
|
-
// include: preamble.js
|
|
271
|
-
// === Preamble library stuff ===
|
|
272
|
-
// Documentation for the public APIs defined in this file must be updated in:
|
|
273
|
-
// site/source/docs/api_reference/preamble.js.rst
|
|
274
|
-
// A prebuilt local version of the documentation is available at:
|
|
275
|
-
// site/build/text/docs/api_reference/preamble.js.txt
|
|
276
|
-
// You can also build docs locally as HTML or other formats in site/
|
|
277
|
-
// An online HTML version (which may be of a different version of Emscripten)
|
|
278
|
-
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
|
|
279
|
-
var dynamicLibraries = Module["dynamicLibraries"] || [];
|
|
280
|
-
var wasmBinary;
|
|
281
|
-
if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
|
|
282
|
-
// Wasm globals
|
|
283
|
-
var wasmMemory;
|
|
284
|
-
//========================================
|
|
285
|
-
// Runtime essentials
|
|
286
|
-
//========================================
|
|
287
|
-
// whether we are quitting the application. no code should run after this.
|
|
288
|
-
// set in exit() and abort()
|
|
289
|
-
var ABORT = false;
|
|
290
|
-
// set by exit() and abort(). Passed to 'onExit' handler.
|
|
291
|
-
// NOTE: This is also used as the process return code code in shell environments
|
|
292
|
-
// but only when noExitRuntime is false.
|
|
293
|
-
var EXITSTATUS;
|
|
294
|
-
// Memory management
|
|
295
|
-
var /** @type {!Int8Array} */HEAP8, /** @type {!Uint8Array} */HEAPU8;
|
|
296
|
-
var HEAP_DATA_VIEW;
|
|
297
|
-
// include: runtime_shared.js
|
|
298
|
-
function updateMemoryViews() {
|
|
299
|
-
var b = wasmMemory.buffer;
|
|
300
|
-
Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(b);
|
|
301
|
-
Module["HEAP8"] = HEAP8 = new Int8Array(b);
|
|
302
|
-
Module["HEAP16"] = new Int16Array(b);
|
|
303
|
-
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
|
|
304
|
-
Module["HEAPU16"] = new Uint16Array(b);
|
|
305
|
-
Module["HEAP32"] = new Int32Array(b);
|
|
306
|
-
Module["HEAPU32"] = new Uint32Array(b);
|
|
307
|
-
Module["HEAPF32"] = new Float32Array(b);
|
|
308
|
-
Module["HEAPF64"] = new Float64Array(b);
|
|
309
|
-
}
|
|
310
|
-
// end include: runtime_shared.js
|
|
311
|
-
// In non-standalone/normal mode, we create the memory here.
|
|
312
|
-
// include: runtime_init_memory.js
|
|
313
|
-
// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined)
|
|
314
|
-
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
|
|
315
|
-
if (Module["wasmMemory"]) {
|
|
316
|
-
wasmMemory = Module["wasmMemory"];
|
|
317
|
-
} else {
|
|
318
|
-
var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 33554432;
|
|
319
|
-
wasmMemory = new WebAssembly.Memory({
|
|
320
|
-
"initial": INITIAL_MEMORY / 65536,
|
|
321
|
-
// In theory we should not need to emit the maximum if we want "unlimited"
|
|
322
|
-
// or 4GB of memory, but VMs error on that atm, see
|
|
323
|
-
// https://github.com/emscripten-core/emscripten/issues/14130
|
|
324
|
-
// And in the pthreads case we definitely need to emit a maximum. So
|
|
325
|
-
// always emit one.
|
|
326
|
-
"maximum": 2147483648 / 65536
|
|
327
|
-
});
|
|
328
|
-
}
|
|
329
|
-
updateMemoryViews();
|
|
330
|
-
// end include: runtime_init_memory.js
|
|
331
|
-
// include: runtime_stack_check.js
|
|
332
|
-
// end include: runtime_stack_check.js
|
|
333
|
-
// include: runtime_assertions.js
|
|
334
|
-
// end include: runtime_assertions.js
|
|
335
|
-
var __ATPRERUN__ = [];
|
|
336
|
-
// functions called before the runtime is initialized
|
|
337
|
-
var __ATINIT__ = [];
|
|
338
|
-
// functions called during startup
|
|
339
|
-
var __ATMAIN__ = [];
|
|
340
|
-
// functions called during shutdown
|
|
341
|
-
var __ATPOSTRUN__ = [];
|
|
342
|
-
// functions called after the main() is called
|
|
343
|
-
var __RELOC_FUNCS__ = [];
|
|
344
|
-
var runtimeInitialized = false;
|
|
345
|
-
function preRun() {
|
|
346
|
-
if (Module["preRun"]) {
|
|
347
|
-
if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
|
|
348
|
-
while (Module["preRun"].length) {
|
|
349
|
-
addOnPreRun(Module["preRun"].shift());
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
callRuntimeCallbacks(__ATPRERUN__);
|
|
353
|
-
}
|
|
354
|
-
function initRuntime() {
|
|
355
|
-
runtimeInitialized = true;
|
|
356
|
-
callRuntimeCallbacks(__RELOC_FUNCS__);
|
|
357
|
-
callRuntimeCallbacks(__ATINIT__);
|
|
358
|
-
}
|
|
359
|
-
function preMain() {
|
|
360
|
-
callRuntimeCallbacks(__ATMAIN__);
|
|
361
|
-
}
|
|
362
|
-
function postRun() {
|
|
363
|
-
if (Module["postRun"]) {
|
|
364
|
-
if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
|
|
365
|
-
while (Module["postRun"].length) {
|
|
366
|
-
addOnPostRun(Module["postRun"].shift());
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
callRuntimeCallbacks(__ATPOSTRUN__);
|
|
370
|
-
}
|
|
371
|
-
function addOnPreRun(cb) {
|
|
372
|
-
__ATPRERUN__.unshift(cb);
|
|
373
|
-
}
|
|
374
|
-
function addOnInit(cb) {
|
|
375
|
-
__ATINIT__.unshift(cb);
|
|
376
|
-
}
|
|
377
|
-
function addOnPostRun(cb) {
|
|
378
|
-
__ATPOSTRUN__.unshift(cb);
|
|
379
|
-
}
|
|
380
|
-
// include: runtime_math.js
|
|
381
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
|
|
382
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
|
|
383
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
|
|
384
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
|
|
385
|
-
// end include: runtime_math.js
|
|
386
|
-
// A counter of dependencies for calling run(). If we need to
|
|
387
|
-
// do asynchronous work before running, increment this and
|
|
388
|
-
// decrement it. Incrementing must happen in a place like
|
|
389
|
-
// Module.preRun (used by emcc to add file preloading).
|
|
390
|
-
// Note that you can add dependencies in preRun, even though
|
|
391
|
-
// it happens right before run - run will be postponed until
|
|
392
|
-
// the dependencies are met.
|
|
393
|
-
var runDependencies = 0;
|
|
394
|
-
var dependenciesFulfilled = null;
|
|
395
|
-
// overridden to take different actions when all run dependencies are fulfilled
|
|
396
|
-
function getUniqueRunDependency(id) {
|
|
397
|
-
return id;
|
|
398
|
-
}
|
|
399
|
-
function addRunDependency(id) {
|
|
400
|
-
runDependencies++;
|
|
401
|
-
Module["monitorRunDependencies"]?.(runDependencies);
|
|
402
|
-
}
|
|
403
|
-
function removeRunDependency(id) {
|
|
404
|
-
runDependencies--;
|
|
405
|
-
Module["monitorRunDependencies"]?.(runDependencies);
|
|
406
|
-
if (runDependencies == 0) {
|
|
407
|
-
if (dependenciesFulfilled) {
|
|
408
|
-
var callback = dependenciesFulfilled;
|
|
409
|
-
dependenciesFulfilled = null;
|
|
410
|
-
callback();
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
/** @param {string|number=} what */
|
|
415
|
-
function abort(what) {
|
|
416
|
-
Module["onAbort"]?.(what);
|
|
417
|
-
what = "Aborted(" + what + ")";
|
|
418
|
-
// TODO(sbc): Should we remove printing and leave it up to whoever
|
|
419
|
-
// catches the exception?
|
|
420
|
-
err(what);
|
|
421
|
-
ABORT = true;
|
|
422
|
-
EXITSTATUS = 1;
|
|
423
|
-
what += ". Build with -sASSERTIONS for more info.";
|
|
424
|
-
// Use a wasm runtime error, because a JS error might be seen as a foreign
|
|
425
|
-
// exception, which means we'd run destructors on it. We need the error to
|
|
426
|
-
// simply make the program stop.
|
|
427
|
-
// FIXME This approach does not work in Wasm EH because it currently does not assume
|
|
428
|
-
// all RuntimeErrors are from traps; it decides whether a RuntimeError is from
|
|
429
|
-
// a trap or not based on a hidden field within the object. So at the moment
|
|
430
|
-
// we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
|
|
431
|
-
// allows this in the wasm spec.
|
|
432
|
-
// Suppress closure compiler warning here. Closure compiler's builtin extern
|
|
433
|
-
// definition for WebAssembly.RuntimeError claims it takes no arguments even
|
|
434
|
-
// though it can.
|
|
435
|
-
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
|
|
436
|
-
/** @suppress {checkTypes} */
|
|
437
|
-
var e = new WebAssembly.RuntimeError(what);
|
|
438
|
-
// Throw the error whether or not MODULARIZE is set because abort is used
|
|
439
|
-
// in code paths apart from instantiation where an exception is expected
|
|
440
|
-
// to be thrown when abort is called.
|
|
441
|
-
throw e;
|
|
442
|
-
}
|
|
443
|
-
// include: memoryprofiler.js
|
|
444
|
-
// end include: memoryprofiler.js
|
|
445
|
-
// include: URIUtils.js
|
|
446
|
-
// Prefix of data URIs emitted by SINGLE_FILE and related options.
|
|
447
|
-
var dataURIPrefix = "data:application/octet-stream;base64,";
|
|
448
|
-
/**
|
|
449
|
-
* Indicates whether filename is a base64 data URI.
|
|
450
|
-
* @noinline
|
|
451
|
-
*/
|
|
452
|
-
var isDataURI = filename => filename.startsWith(dataURIPrefix);
|
|
453
|
-
/**
|
|
454
|
-
* Indicates whether filename is delivered via file protocol (as opposed to http/https)
|
|
455
|
-
* @noinline
|
|
456
|
-
*/
|
|
457
|
-
var isFileURI = filename => filename.startsWith("file://");
|
|
458
|
-
// end include: URIUtils.js
|
|
459
|
-
// include: runtime_exceptions.js
|
|
460
|
-
// end include: runtime_exceptions.js
|
|
461
|
-
function findWasmBinary() {
|
|
462
|
-
var f = "tree-sitter.wasm";
|
|
463
|
-
if (!isDataURI(f)) {
|
|
464
|
-
return locateFile(f);
|
|
465
|
-
}
|
|
466
|
-
return f;
|
|
467
|
-
}
|
|
468
|
-
var wasmBinaryFile;
|
|
469
|
-
function getBinarySync(file) {
|
|
470
|
-
if (file == wasmBinaryFile && wasmBinary) {
|
|
471
|
-
return new Uint8Array(wasmBinary);
|
|
472
|
-
}
|
|
473
|
-
if (readBinary) {
|
|
474
|
-
return readBinary(file);
|
|
475
|
-
}
|
|
476
|
-
throw "both async and sync fetching of the wasm failed";
|
|
477
|
-
}
|
|
478
|
-
function getBinaryPromise(binaryFile) {
|
|
479
|
-
// If we don't have the binary yet, load it asynchronously using readAsync.
|
|
480
|
-
if (!wasmBinary) {
|
|
481
|
-
// Fetch the binary using readAsync
|
|
482
|
-
return readAsync(binaryFile).then(response => new Uint8Array(/** @type{!ArrayBuffer} */response),
|
|
483
|
-
// Fall back to getBinarySync if readAsync fails
|
|
484
|
-
() => getBinarySync(binaryFile));
|
|
485
|
-
}
|
|
486
|
-
// Otherwise, getBinarySync should be able to get it synchronously
|
|
487
|
-
return Promise.resolve().then(() => getBinarySync(binaryFile));
|
|
488
|
-
}
|
|
489
|
-
function instantiateArrayBuffer(binaryFile, imports, receiver) {
|
|
490
|
-
return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(receiver, reason => {
|
|
491
|
-
err(`failed to asynchronously prepare wasm: ${reason}`);
|
|
492
|
-
abort(reason);
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
function instantiateAsync(binary, binaryFile, imports, callback) {
|
|
496
|
-
if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) &&
|
|
497
|
-
// Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
|
|
498
|
-
!isFileURI(binaryFile) &&
|
|
499
|
-
// Avoid instantiateStreaming() on Node.js environment for now, as while
|
|
500
|
-
// Node.js v18.1.0 implements it, it does not have a full fetch()
|
|
501
|
-
// implementation yet.
|
|
502
|
-
// Reference:
|
|
503
|
-
// https://github.com/emscripten-core/emscripten/pull/16917
|
|
504
|
-
!ENVIRONMENT_IS_NODE && typeof fetch == "function") {
|
|
505
|
-
return fetch(binaryFile, {
|
|
506
|
-
credentials: "same-origin"
|
|
507
|
-
}).then(response => {
|
|
508
|
-
// Suppress closure warning here since the upstream definition for
|
|
509
|
-
// instantiateStreaming only allows Promise<Repsponse> rather than
|
|
510
|
-
// an actual Response.
|
|
511
|
-
// TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed.
|
|
512
|
-
/** @suppress {checkTypes} */
|
|
513
|
-
var result = WebAssembly.instantiateStreaming(response, imports);
|
|
514
|
-
return result.then(callback, function (reason) {
|
|
515
|
-
// We expect the most common failure cause to be a bad MIME type for the binary,
|
|
516
|
-
// in which case falling back to ArrayBuffer instantiation should work.
|
|
517
|
-
err(`wasm streaming compile failed: ${reason}`);
|
|
518
|
-
err("falling back to ArrayBuffer instantiation");
|
|
519
|
-
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
520
|
-
});
|
|
521
|
-
});
|
|
522
|
-
}
|
|
523
|
-
return instantiateArrayBuffer(binaryFile, imports, callback);
|
|
524
|
-
}
|
|
525
|
-
function getWasmImports() {
|
|
526
|
-
// prepare imports
|
|
527
|
-
return {
|
|
528
|
-
"env": wasmImports,
|
|
529
|
-
"wasi_snapshot_preview1": wasmImports,
|
|
530
|
-
"GOT.mem": new Proxy(wasmImports, GOTHandler),
|
|
531
|
-
"GOT.func": new Proxy(wasmImports, GOTHandler)
|
|
532
|
-
};
|
|
533
|
-
}
|
|
534
|
-
// Create the wasm instance.
|
|
535
|
-
// Receives the wasm imports, returns the exports.
|
|
536
|
-
function createWasm() {
|
|
537
|
-
var info = getWasmImports();
|
|
538
|
-
// Load the wasm module and create an instance of using native support in the JS engine.
|
|
539
|
-
// handle a generated wasm instance, receiving its exports and
|
|
540
|
-
// performing other necessary setup
|
|
541
|
-
/** @param {WebAssembly.Module=} module*/
|
|
542
|
-
function receiveInstance(instance, module) {
|
|
543
|
-
wasmExports = instance.exports;
|
|
544
|
-
wasmExports = relocateExports(wasmExports, 1024);
|
|
545
|
-
var metadata = getDylinkMetadata(module);
|
|
546
|
-
if (metadata.neededDynlibs) {
|
|
547
|
-
dynamicLibraries = metadata.neededDynlibs.concat(dynamicLibraries);
|
|
548
|
-
}
|
|
549
|
-
mergeLibSymbols(wasmExports);
|
|
550
|
-
LDSO.init();
|
|
551
|
-
loadDylibs();
|
|
552
|
-
addOnInit(wasmExports["__wasm_call_ctors"]);
|
|
553
|
-
__RELOC_FUNCS__.push(wasmExports["__wasm_apply_data_relocs"]);
|
|
554
|
-
removeRunDependency();
|
|
555
|
-
return wasmExports;
|
|
556
|
-
}
|
|
557
|
-
// wait for the pthread pool (if any)
|
|
558
|
-
addRunDependency();
|
|
559
|
-
// Prefer streaming instantiation if available.
|
|
560
|
-
function receiveInstantiationResult(result) {
|
|
561
|
-
// 'result' is a ResultObject object which has both the module and instance.
|
|
562
|
-
// receiveInstance() will swap in the exports (to Module.asm) so they can be called
|
|
563
|
-
receiveInstance(result["instance"], result["module"]);
|
|
564
|
-
}
|
|
565
|
-
// User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
|
|
566
|
-
// to manually instantiate the Wasm module themselves. This allows pages to
|
|
567
|
-
// run the instantiation parallel to any other async startup actions they are
|
|
568
|
-
// performing.
|
|
569
|
-
// Also pthreads and wasm workers initialize the wasm instance through this
|
|
570
|
-
// path.
|
|
571
|
-
if (Module["instantiateWasm"]) {
|
|
572
|
-
try {
|
|
573
|
-
return Module["instantiateWasm"](info, receiveInstance);
|
|
574
|
-
} catch (e) {
|
|
575
|
-
err(`Module.instantiateWasm callback failed with error: ${e}`);
|
|
576
|
-
return false;
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
if (!wasmBinaryFile) wasmBinaryFile = findWasmBinary();
|
|
580
|
-
instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult);
|
|
581
|
-
return {};
|
|
582
|
-
}
|
|
583
|
-
// end include: preamble.js
|
|
584
|
-
/** @constructor */
|
|
585
|
-
function ExitStatus(status) {
|
|
586
|
-
this.name = "ExitStatus";
|
|
587
|
-
this.message = `Program terminated with exit(${status})`;
|
|
588
|
-
this.status = status;
|
|
589
|
-
}
|
|
590
|
-
var GOT = {};
|
|
591
|
-
var currentModuleWeakSymbols = new Set([]);
|
|
592
|
-
var GOTHandler = {
|
|
593
|
-
get(obj, symName) {
|
|
594
|
-
var rtn = GOT[symName];
|
|
595
|
-
if (!rtn) {
|
|
596
|
-
rtn = GOT[symName] = new WebAssembly.Global({
|
|
597
|
-
"value": "i32",
|
|
598
|
-
"mutable": true
|
|
599
|
-
});
|
|
600
|
-
}
|
|
601
|
-
if (!currentModuleWeakSymbols.has(symName)) {
|
|
602
|
-
// Any non-weak reference to a symbol marks it as `required`, which
|
|
603
|
-
// enabled `reportUndefinedSymbols` to report undefeind symbol errors
|
|
604
|
-
// correctly.
|
|
605
|
-
rtn.required = true;
|
|
606
|
-
}
|
|
607
|
-
return rtn;
|
|
608
|
-
}
|
|
609
|
-
};
|
|
610
|
-
var LE_HEAP_LOAD_F32 = byteOffset => HEAP_DATA_VIEW.getFloat32(byteOffset, true);
|
|
611
|
-
var LE_HEAP_LOAD_F64 = byteOffset => HEAP_DATA_VIEW.getFloat64(byteOffset, true);
|
|
612
|
-
var LE_HEAP_LOAD_I16 = byteOffset => HEAP_DATA_VIEW.getInt16(byteOffset, true);
|
|
613
|
-
var LE_HEAP_LOAD_I32 = byteOffset => HEAP_DATA_VIEW.getInt32(byteOffset, true);
|
|
614
|
-
var LE_HEAP_LOAD_U32 = byteOffset => HEAP_DATA_VIEW.getUint32(byteOffset, true);
|
|
615
|
-
var LE_HEAP_STORE_F32 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat32(byteOffset, value, true);
|
|
616
|
-
var LE_HEAP_STORE_F64 = (byteOffset, value) => HEAP_DATA_VIEW.setFloat64(byteOffset, value, true);
|
|
617
|
-
var LE_HEAP_STORE_I16 = (byteOffset, value) => HEAP_DATA_VIEW.setInt16(byteOffset, value, true);
|
|
618
|
-
var LE_HEAP_STORE_I32 = (byteOffset, value) => HEAP_DATA_VIEW.setInt32(byteOffset, value, true);
|
|
619
|
-
var LE_HEAP_STORE_U32 = (byteOffset, value) => HEAP_DATA_VIEW.setUint32(byteOffset, value, true);
|
|
620
|
-
var callRuntimeCallbacks = callbacks => {
|
|
621
|
-
while (callbacks.length > 0) {
|
|
622
|
-
// Pass the module as the first argument.
|
|
623
|
-
callbacks.shift()(Module);
|
|
624
|
-
}
|
|
625
|
-
};
|
|
626
|
-
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder() : undefined;
|
|
627
|
-
/**
|
|
628
|
-
* Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
|
|
629
|
-
* array that contains uint8 values, returns a copy of that string as a
|
|
630
|
-
* Javascript String object.
|
|
631
|
-
* heapOrArray is either a regular array, or a JavaScript typed array view.
|
|
632
|
-
* @param {number} idx
|
|
633
|
-
* @param {number=} maxBytesToRead
|
|
634
|
-
* @return {string}
|
|
635
|
-
*/
|
|
636
|
-
var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
|
|
637
|
-
var endIdx = idx + maxBytesToRead;
|
|
638
|
-
var endPtr = idx;
|
|
639
|
-
// TextDecoder needs to know the byte length in advance, it doesn't stop on
|
|
640
|
-
// null terminator by itself. Also, use the length info to avoid running tiny
|
|
641
|
-
// strings through TextDecoder, since .subarray() allocates garbage.
|
|
642
|
-
// (As a tiny code save trick, compare endPtr against endIdx using a negation,
|
|
643
|
-
// so that undefined means Infinity)
|
|
644
|
-
while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
|
|
645
|
-
if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
646
|
-
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
647
|
-
}
|
|
648
|
-
var str = "";
|
|
649
|
-
// If building with TextDecoder, we have already computed the string length
|
|
650
|
-
// above, so test loop end condition against that
|
|
651
|
-
while (idx < endPtr) {
|
|
652
|
-
// For UTF8 byte structure, see:
|
|
653
|
-
// http://en.wikipedia.org/wiki/UTF-8#Description
|
|
654
|
-
// https://www.ietf.org/rfc/rfc2279.txt
|
|
655
|
-
// https://tools.ietf.org/html/rfc3629
|
|
656
|
-
var u0 = heapOrArray[idx++];
|
|
657
|
-
if (!(u0 & 128)) {
|
|
658
|
-
str += String.fromCharCode(u0);
|
|
659
|
-
continue;
|
|
660
|
-
}
|
|
661
|
-
var u1 = heapOrArray[idx++] & 63;
|
|
662
|
-
if ((u0 & 224) == 192) {
|
|
663
|
-
str += String.fromCharCode((u0 & 31) << 6 | u1);
|
|
664
|
-
continue;
|
|
665
|
-
}
|
|
666
|
-
var u2 = heapOrArray[idx++] & 63;
|
|
667
|
-
if ((u0 & 240) == 224) {
|
|
668
|
-
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
|
|
669
|
-
} else {
|
|
670
|
-
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
|
|
671
|
-
}
|
|
672
|
-
if (u0 < 65536) {
|
|
673
|
-
str += String.fromCharCode(u0);
|
|
674
|
-
} else {
|
|
675
|
-
var ch = u0 - 65536;
|
|
676
|
-
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
677
|
-
}
|
|
678
|
-
}
|
|
679
|
-
return str;
|
|
680
|
-
};
|
|
681
|
-
var getDylinkMetadata = binary => {
|
|
682
|
-
var offset = 0;
|
|
683
|
-
var end = 0;
|
|
684
|
-
function getU8() {
|
|
685
|
-
return binary[offset++];
|
|
686
|
-
}
|
|
687
|
-
function getLEB() {
|
|
688
|
-
var ret = 0;
|
|
689
|
-
var mul = 1;
|
|
690
|
-
while (1) {
|
|
691
|
-
var byte = binary[offset++];
|
|
692
|
-
ret += (byte & 127) * mul;
|
|
693
|
-
mul *= 128;
|
|
694
|
-
if (!(byte & 128)) break;
|
|
695
|
-
}
|
|
696
|
-
return ret;
|
|
697
|
-
}
|
|
698
|
-
function getString() {
|
|
699
|
-
var len = getLEB();
|
|
700
|
-
offset += len;
|
|
701
|
-
return UTF8ArrayToString(binary, offset - len, len);
|
|
702
|
-
}
|
|
703
|
-
/** @param {string=} message */
|
|
704
|
-
function failIf(condition, message) {
|
|
705
|
-
if (condition) throw new Error(message);
|
|
706
|
-
}
|
|
707
|
-
var name = "dylink.0";
|
|
708
|
-
if (binary instanceof WebAssembly.Module) {
|
|
709
|
-
var dylinkSection = WebAssembly.Module.customSections(binary, name);
|
|
710
|
-
if (dylinkSection.length === 0) {
|
|
711
|
-
name = "dylink";
|
|
712
|
-
dylinkSection = WebAssembly.Module.customSections(binary, name);
|
|
713
|
-
}
|
|
714
|
-
failIf(dylinkSection.length === 0, "need dylink section");
|
|
715
|
-
binary = new Uint8Array(dylinkSection[0]);
|
|
716
|
-
end = binary.length;
|
|
717
|
-
} else {
|
|
718
|
-
var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer);
|
|
719
|
-
var magicNumberFound = int32View[0] == 1836278016 || int32View[0] == 6386541;
|
|
720
|
-
failIf(!magicNumberFound, "need to see wasm magic number");
|
|
721
|
-
// \0asm
|
|
722
|
-
// we should see the dylink custom section right after the magic number and wasm version
|
|
723
|
-
failIf(binary[8] !== 0, "need the dylink section to be first");
|
|
724
|
-
offset = 9;
|
|
725
|
-
var section_size = getLEB();
|
|
726
|
-
//section size
|
|
727
|
-
end = offset + section_size;
|
|
728
|
-
name = getString();
|
|
729
|
-
}
|
|
730
|
-
var customSection = {
|
|
731
|
-
neededDynlibs: [],
|
|
732
|
-
tlsExports: new Set(),
|
|
733
|
-
weakImports: new Set()
|
|
734
|
-
};
|
|
735
|
-
if (name == "dylink") {
|
|
736
|
-
customSection.memorySize = getLEB();
|
|
737
|
-
customSection.memoryAlign = getLEB();
|
|
738
|
-
customSection.tableSize = getLEB();
|
|
739
|
-
customSection.tableAlign = getLEB();
|
|
740
|
-
// shared libraries this module needs. We need to load them first, so that
|
|
741
|
-
// current module could resolve its imports. (see tools/shared.py
|
|
742
|
-
// WebAssembly.make_shared_library() for "dylink" section extension format)
|
|
743
|
-
var neededDynlibsCount = getLEB();
|
|
744
|
-
for (var i = 0; i < neededDynlibsCount; ++i) {
|
|
745
|
-
var libname = getString();
|
|
746
|
-
customSection.neededDynlibs.push(libname);
|
|
747
|
-
}
|
|
748
|
-
} else {
|
|
749
|
-
failIf(name !== "dylink.0");
|
|
750
|
-
var WASM_DYLINK_MEM_INFO = 1;
|
|
751
|
-
var WASM_DYLINK_NEEDED = 2;
|
|
752
|
-
var WASM_DYLINK_EXPORT_INFO = 3;
|
|
753
|
-
var WASM_DYLINK_IMPORT_INFO = 4;
|
|
754
|
-
var WASM_SYMBOL_TLS = 256;
|
|
755
|
-
var WASM_SYMBOL_BINDING_MASK = 3;
|
|
756
|
-
var WASM_SYMBOL_BINDING_WEAK = 1;
|
|
757
|
-
while (offset < end) {
|
|
758
|
-
var subsectionType = getU8();
|
|
759
|
-
var subsectionSize = getLEB();
|
|
760
|
-
if (subsectionType === WASM_DYLINK_MEM_INFO) {
|
|
761
|
-
customSection.memorySize = getLEB();
|
|
762
|
-
customSection.memoryAlign = getLEB();
|
|
763
|
-
customSection.tableSize = getLEB();
|
|
764
|
-
customSection.tableAlign = getLEB();
|
|
765
|
-
} else if (subsectionType === WASM_DYLINK_NEEDED) {
|
|
766
|
-
var neededDynlibsCount = getLEB();
|
|
767
|
-
for (var i = 0; i < neededDynlibsCount; ++i) {
|
|
768
|
-
libname = getString();
|
|
769
|
-
customSection.neededDynlibs.push(libname);
|
|
770
|
-
}
|
|
771
|
-
} else if (subsectionType === WASM_DYLINK_EXPORT_INFO) {
|
|
772
|
-
var count = getLEB();
|
|
773
|
-
while (count--) {
|
|
774
|
-
var symname = getString();
|
|
775
|
-
var flags = getLEB();
|
|
776
|
-
if (flags & WASM_SYMBOL_TLS) {
|
|
777
|
-
customSection.tlsExports.add(symname);
|
|
778
|
-
}
|
|
779
|
-
}
|
|
780
|
-
} else if (subsectionType === WASM_DYLINK_IMPORT_INFO) {
|
|
781
|
-
var count = getLEB();
|
|
782
|
-
while (count--) {
|
|
783
|
-
getString();
|
|
784
|
-
var symname = getString();
|
|
785
|
-
var flags = getLEB();
|
|
786
|
-
if ((flags & WASM_SYMBOL_BINDING_MASK) == WASM_SYMBOL_BINDING_WEAK) {
|
|
787
|
-
customSection.weakImports.add(symname);
|
|
788
|
-
}
|
|
789
|
-
}
|
|
790
|
-
} else {
|
|
791
|
-
// unknown subsection
|
|
792
|
-
offset += subsectionSize;
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
return customSection;
|
|
797
|
-
};
|
|
798
|
-
/**
|
|
799
|
-
* @param {number} ptr
|
|
800
|
-
* @param {string} type
|
|
801
|
-
*/
|
|
802
|
-
function getValue(ptr, type = "i8") {
|
|
803
|
-
if (type.endsWith("*")) type = "*";
|
|
804
|
-
switch (type) {
|
|
805
|
-
case "i1":
|
|
806
|
-
return HEAP8[ptr];
|
|
807
|
-
case "i8":
|
|
808
|
-
return HEAP8[ptr];
|
|
809
|
-
case "i16":
|
|
810
|
-
return LE_HEAP_LOAD_I16((ptr >> 1) * 2);
|
|
811
|
-
case "i32":
|
|
812
|
-
return LE_HEAP_LOAD_I32((ptr >> 2) * 4);
|
|
813
|
-
case "i64":
|
|
814
|
-
abort("to do getValue(i64) use WASM_BIGINT");
|
|
815
|
-
case "float":
|
|
816
|
-
return LE_HEAP_LOAD_F32((ptr >> 2) * 4);
|
|
817
|
-
case "double":
|
|
818
|
-
return LE_HEAP_LOAD_F64((ptr >> 3) * 8);
|
|
819
|
-
case "*":
|
|
820
|
-
return LE_HEAP_LOAD_U32((ptr >> 2) * 4);
|
|
821
|
-
default:
|
|
822
|
-
abort(`invalid type for getValue: ${type}`);
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
var newDSO = (name, handle, syms) => {
|
|
826
|
-
var dso = {
|
|
827
|
-
refcount: Infinity,
|
|
828
|
-
name: name,
|
|
829
|
-
exports: syms,
|
|
830
|
-
global: true
|
|
831
|
-
};
|
|
832
|
-
LDSO.loadedLibsByName[name] = dso;
|
|
833
|
-
if (handle != undefined) {
|
|
834
|
-
LDSO.loadedLibsByHandle[handle] = dso;
|
|
835
|
-
}
|
|
836
|
-
return dso;
|
|
837
|
-
};
|
|
838
|
-
var LDSO = {
|
|
839
|
-
loadedLibsByName: {},
|
|
840
|
-
loadedLibsByHandle: {},
|
|
841
|
-
init() {
|
|
842
|
-
newDSO("__main__", 0, wasmImports);
|
|
843
|
-
}
|
|
844
|
-
};
|
|
845
|
-
var ___heap_base = 78112;
|
|
846
|
-
var zeroMemory = (address, size) => {
|
|
847
|
-
HEAPU8.fill(0, address, address + size);
|
|
848
|
-
return address;
|
|
849
|
-
};
|
|
850
|
-
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
|
|
851
|
-
var getMemory = size => {
|
|
852
|
-
// After the runtime is initialized, we must only use sbrk() normally.
|
|
853
|
-
if (runtimeInitialized) {
|
|
854
|
-
// Currently we don't support freeing of static data when modules are
|
|
855
|
-
// unloaded via dlclose. This function is tagged as `noleakcheck` to
|
|
856
|
-
// avoid having this reported as leak.
|
|
857
|
-
return zeroMemory(_malloc(size), size);
|
|
858
|
-
}
|
|
859
|
-
var ret = ___heap_base;
|
|
860
|
-
// Keep __heap_base stack aligned.
|
|
861
|
-
var end = ret + alignMemory(size, 16);
|
|
862
|
-
___heap_base = end;
|
|
863
|
-
GOT["__heap_base"].value = end;
|
|
864
|
-
return ret;
|
|
865
|
-
};
|
|
866
|
-
var isInternalSym = symName => ["__cpp_exception", "__c_longjmp", "__wasm_apply_data_relocs", "__dso_handle", "__tls_size", "__tls_align", "__set_stack_limits", "_emscripten_tls_init", "__wasm_init_tls", "__wasm_call_ctors", "__start_em_asm", "__stop_em_asm", "__start_em_js", "__stop_em_js"].includes(symName) || symName.startsWith("__em_js__");
|
|
867
|
-
var uleb128Encode = (n, target) => {
|
|
868
|
-
if (n < 128) {
|
|
869
|
-
target.push(n);
|
|
870
|
-
} else {
|
|
871
|
-
target.push(n % 128 | 128, n >> 7);
|
|
872
|
-
}
|
|
873
|
-
};
|
|
874
|
-
var sigToWasmTypes = sig => {
|
|
875
|
-
var typeNames = {
|
|
876
|
-
"i": "i32",
|
|
877
|
-
"j": "i64",
|
|
878
|
-
"f": "f32",
|
|
879
|
-
"d": "f64",
|
|
880
|
-
"e": "externref",
|
|
881
|
-
"p": "i32"
|
|
882
|
-
};
|
|
883
|
-
var type = {
|
|
884
|
-
parameters: [],
|
|
885
|
-
results: sig[0] == "v" ? [] : [typeNames[sig[0]]]
|
|
886
|
-
};
|
|
887
|
-
for (var i = 1; i < sig.length; ++i) {
|
|
888
|
-
type.parameters.push(typeNames[sig[i]]);
|
|
889
|
-
}
|
|
890
|
-
return type;
|
|
891
|
-
};
|
|
892
|
-
var generateFuncType = (sig, target) => {
|
|
893
|
-
var sigRet = sig.slice(0, 1);
|
|
894
|
-
var sigParam = sig.slice(1);
|
|
895
|
-
var typeCodes = {
|
|
896
|
-
"i": 127,
|
|
897
|
-
// i32
|
|
898
|
-
"p": 127,
|
|
899
|
-
// i32
|
|
900
|
-
"j": 126,
|
|
901
|
-
// i64
|
|
902
|
-
"f": 125,
|
|
903
|
-
// f32
|
|
904
|
-
"d": 124,
|
|
905
|
-
// f64
|
|
906
|
-
"e": 111
|
|
907
|
-
};
|
|
908
|
-
// Parameters, length + signatures
|
|
909
|
-
target.push(96);
|
|
910
|
-
/* form: func */
|
|
911
|
-
uleb128Encode(sigParam.length, target);
|
|
912
|
-
for (var i = 0; i < sigParam.length; ++i) {
|
|
913
|
-
target.push(typeCodes[sigParam[i]]);
|
|
914
|
-
}
|
|
915
|
-
// Return values, length + signatures
|
|
916
|
-
// With no multi-return in MVP, either 0 (void) or 1 (anything else)
|
|
917
|
-
if (sigRet == "v") {
|
|
918
|
-
target.push(0);
|
|
919
|
-
} else {
|
|
920
|
-
target.push(1, typeCodes[sigRet]);
|
|
921
|
-
}
|
|
922
|
-
};
|
|
923
|
-
var convertJsFunctionToWasm = (func, sig) => {
|
|
924
|
-
// If the type reflection proposal is available, use the new
|
|
925
|
-
// "WebAssembly.Function" constructor.
|
|
926
|
-
// Otherwise, construct a minimal wasm module importing the JS function and
|
|
927
|
-
// re-exporting it.
|
|
928
|
-
if (typeof WebAssembly.Function == "function") {
|
|
929
|
-
return new WebAssembly.Function(sigToWasmTypes(sig), func);
|
|
930
|
-
}
|
|
931
|
-
// The module is static, with the exception of the type section, which is
|
|
932
|
-
// generated based on the signature passed in.
|
|
933
|
-
var typeSectionBody = [1];
|
|
934
|
-
// count: 1
|
|
935
|
-
generateFuncType(sig, typeSectionBody);
|
|
936
|
-
// Rest of the module is static
|
|
937
|
-
var bytes = [0, 97, 115, 109,
|
|
938
|
-
// magic ("\0asm")
|
|
939
|
-
1, 0, 0, 0,
|
|
940
|
-
// version: 1
|
|
941
|
-
1];
|
|
942
|
-
// Write the overall length of the type section followed by the body
|
|
943
|
-
uleb128Encode(typeSectionBody.length, bytes);
|
|
944
|
-
bytes.push(...typeSectionBody);
|
|
945
|
-
// The rest of the module is static
|
|
946
|
-
bytes.push(2, 7,
|
|
947
|
-
// import section
|
|
948
|
-
// (import "e" "f" (func 0 (type 0)))
|
|
949
|
-
1, 1, 101, 1, 102, 0, 0, 7, 5,
|
|
950
|
-
// export section
|
|
951
|
-
// (export "f" (func 0 (type 0)))
|
|
952
|
-
1, 1, 102, 0, 0);
|
|
953
|
-
// We can compile this wasm module synchronously because it is very small.
|
|
954
|
-
// This accepts an import (at "e.f"), that it reroutes to an export (at "f")
|
|
955
|
-
var module = new WebAssembly.Module(new Uint8Array(bytes));
|
|
956
|
-
var instance = new WebAssembly.Instance(module, {
|
|
957
|
-
"e": {
|
|
958
|
-
"f": func
|
|
959
|
-
}
|
|
960
|
-
});
|
|
961
|
-
var wrappedFunc = instance.exports["f"];
|
|
962
|
-
return wrappedFunc;
|
|
963
|
-
};
|
|
964
|
-
var wasmTableMirror = [];
|
|
965
|
-
/** @type {WebAssembly.Table} */
|
|
966
|
-
var wasmTable = new WebAssembly.Table({
|
|
967
|
-
"initial": 28,
|
|
968
|
-
"element": "anyfunc"
|
|
969
|
-
});
|
|
970
|
-
var getWasmTableEntry = funcPtr => {
|
|
971
|
-
var func = wasmTableMirror[funcPtr];
|
|
972
|
-
if (!func) {
|
|
973
|
-
if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
|
|
974
|
-
wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
|
|
975
|
-
}
|
|
976
|
-
return func;
|
|
977
|
-
};
|
|
978
|
-
var updateTableMap = (offset, count) => {
|
|
979
|
-
if (functionsInTableMap) {
|
|
980
|
-
for (var i = offset; i < offset + count; i++) {
|
|
981
|
-
var item = getWasmTableEntry(i);
|
|
982
|
-
// Ignore null values.
|
|
983
|
-
if (item) {
|
|
984
|
-
functionsInTableMap.set(item, i);
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
}
|
|
988
|
-
};
|
|
989
|
-
var functionsInTableMap;
|
|
990
|
-
var getFunctionAddress = func => {
|
|
991
|
-
// First, create the map if this is the first use.
|
|
992
|
-
if (!functionsInTableMap) {
|
|
993
|
-
functionsInTableMap = new WeakMap();
|
|
994
|
-
updateTableMap(0, wasmTable.length);
|
|
995
|
-
}
|
|
996
|
-
return functionsInTableMap.get(func) || 0;
|
|
997
|
-
};
|
|
998
|
-
var freeTableIndexes = [];
|
|
999
|
-
var getEmptyTableSlot = () => {
|
|
1000
|
-
// Reuse a free index if there is one, otherwise grow.
|
|
1001
|
-
if (freeTableIndexes.length) {
|
|
1002
|
-
return freeTableIndexes.pop();
|
|
1003
|
-
}
|
|
1004
|
-
// Grow the table
|
|
1005
|
-
try {
|
|
1006
|
-
wasmTable.grow(1);
|
|
1007
|
-
} catch (err) {
|
|
1008
|
-
if (!(err instanceof RangeError)) {
|
|
1009
|
-
throw err;
|
|
1010
|
-
}
|
|
1011
|
-
throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
|
|
1012
|
-
}
|
|
1013
|
-
return wasmTable.length - 1;
|
|
1014
|
-
};
|
|
1015
|
-
var setWasmTableEntry = (idx, func) => {
|
|
1016
|
-
wasmTable.set(idx, func);
|
|
1017
|
-
// With ABORT_ON_WASM_EXCEPTIONS wasmTable.get is overridden to return wrapped
|
|
1018
|
-
// functions so we need to call it here to retrieve the potential wrapper correctly
|
|
1019
|
-
// instead of just storing 'func' directly into wasmTableMirror
|
|
1020
|
-
wasmTableMirror[idx] = wasmTable.get(idx);
|
|
1021
|
-
};
|
|
1022
|
-
/** @param {string=} sig */
|
|
1023
|
-
var addFunction = (func, sig) => {
|
|
1024
|
-
// Check if the function is already in the table, to ensure each function
|
|
1025
|
-
// gets a unique index.
|
|
1026
|
-
var rtn = getFunctionAddress(func);
|
|
1027
|
-
if (rtn) {
|
|
1028
|
-
return rtn;
|
|
1029
|
-
}
|
|
1030
|
-
// It's not in the table, add it now.
|
|
1031
|
-
var ret = getEmptyTableSlot();
|
|
1032
|
-
// Set the new value.
|
|
1033
|
-
try {
|
|
1034
|
-
// Attempting to call this with JS function will cause of table.set() to fail
|
|
1035
|
-
setWasmTableEntry(ret, func);
|
|
1036
|
-
} catch (err) {
|
|
1037
|
-
if (!(err instanceof TypeError)) {
|
|
1038
|
-
throw err;
|
|
1039
|
-
}
|
|
1040
|
-
var wrapped = convertJsFunctionToWasm(func, sig);
|
|
1041
|
-
setWasmTableEntry(ret, wrapped);
|
|
1042
|
-
}
|
|
1043
|
-
functionsInTableMap.set(func, ret);
|
|
1044
|
-
return ret;
|
|
1045
|
-
};
|
|
1046
|
-
var updateGOT = (exports, replace) => {
|
|
1047
|
-
for (var symName in exports) {
|
|
1048
|
-
if (isInternalSym(symName)) {
|
|
1049
|
-
continue;
|
|
1050
|
-
}
|
|
1051
|
-
var value = exports[symName];
|
|
1052
|
-
if (symName.startsWith("orig$")) {
|
|
1053
|
-
symName = symName.split("$")[1];
|
|
1054
|
-
replace = true;
|
|
1055
|
-
}
|
|
1056
|
-
GOT[symName] ||= new WebAssembly.Global({
|
|
1057
|
-
"value": "i32",
|
|
1058
|
-
"mutable": true
|
|
1059
|
-
});
|
|
1060
|
-
if (replace || GOT[symName].value == 0) {
|
|
1061
|
-
if (typeof value == "function") {
|
|
1062
|
-
GOT[symName].value = addFunction(value);
|
|
1063
|
-
} else if (typeof value == "number") {
|
|
1064
|
-
GOT[symName].value = value;
|
|
1065
|
-
} else {
|
|
1066
|
-
err(`unhandled export type for '${symName}': ${typeof value}`);
|
|
1067
|
-
}
|
|
1068
|
-
}
|
|
1069
|
-
}
|
|
1070
|
-
};
|
|
1071
|
-
/** @param {boolean=} replace */
|
|
1072
|
-
var relocateExports = (exports, memoryBase, replace) => {
|
|
1073
|
-
var relocated = {};
|
|
1074
|
-
for (var e in exports) {
|
|
1075
|
-
var value = exports[e];
|
|
1076
|
-
if (typeof value == "object") {
|
|
1077
|
-
// a breaking change in the wasm spec, globals are now objects
|
|
1078
|
-
// https://github.com/WebAssembly/mutable-global/issues/1
|
|
1079
|
-
value = value.value;
|
|
1080
|
-
}
|
|
1081
|
-
if (typeof value == "number") {
|
|
1082
|
-
value += memoryBase;
|
|
1083
|
-
}
|
|
1084
|
-
relocated[e] = value;
|
|
1085
|
-
}
|
|
1086
|
-
updateGOT(relocated, replace);
|
|
1087
|
-
return relocated;
|
|
1088
|
-
};
|
|
1089
|
-
var isSymbolDefined = symName => {
|
|
1090
|
-
// Ignore 'stub' symbols that are auto-generated as part of the original
|
|
1091
|
-
// `wasmImports` used to instantiate the main module.
|
|
1092
|
-
var existing = wasmImports[symName];
|
|
1093
|
-
if (!existing || existing.stub) {
|
|
1094
|
-
return false;
|
|
1095
|
-
}
|
|
1096
|
-
return true;
|
|
1097
|
-
};
|
|
1098
|
-
var dynCallLegacy = (sig, ptr, args) => {
|
|
1099
|
-
sig = sig.replace(/p/g, "i");
|
|
1100
|
-
var f = Module["dynCall_" + sig];
|
|
1101
|
-
return f(ptr, ...args);
|
|
1102
|
-
};
|
|
1103
|
-
var dynCall = (sig, ptr, args = []) => {
|
|
1104
|
-
// Without WASM_BIGINT support we cannot directly call function with i64 as
|
|
1105
|
-
// part of their signature, so we rely on the dynCall functions generated by
|
|
1106
|
-
// wasm-emscripten-finalize
|
|
1107
|
-
if (sig.includes("j")) {
|
|
1108
|
-
return dynCallLegacy(sig, ptr, args);
|
|
1109
|
-
}
|
|
1110
|
-
var rtn = getWasmTableEntry(ptr)(...args);
|
|
1111
|
-
return rtn;
|
|
1112
|
-
};
|
|
1113
|
-
var stackSave = () => _emscripten_stack_get_current();
|
|
1114
|
-
var stackRestore = val => __emscripten_stack_restore(val);
|
|
1115
|
-
var createInvokeFunction = sig => (ptr, ...args) => {
|
|
1116
|
-
var sp = stackSave();
|
|
1117
|
-
try {
|
|
1118
|
-
return dynCall(sig, ptr, args);
|
|
1119
|
-
} catch (e) {
|
|
1120
|
-
stackRestore(sp);
|
|
1121
|
-
// Create a try-catch guard that rethrows the Emscripten EH exception.
|
|
1122
|
-
// Exceptions thrown from C++ will be a pointer (number) and longjmp
|
|
1123
|
-
// will throw the number Infinity. Use the compact and fast "e !== e+0"
|
|
1124
|
-
// test to check if e was not a Number.
|
|
1125
|
-
if (e !== e + 0) throw e;
|
|
1126
|
-
_setThrew(1, 0);
|
|
1127
|
-
}
|
|
1128
|
-
};
|
|
1129
|
-
var resolveGlobalSymbol = (symName, direct = false) => {
|
|
1130
|
-
var sym;
|
|
1131
|
-
// First look for the orig$ symbol which is the symbol without i64
|
|
1132
|
-
// legalization performed.
|
|
1133
|
-
if (direct && "orig$" + symName in wasmImports) {
|
|
1134
|
-
symName = "orig$" + symName;
|
|
1135
|
-
}
|
|
1136
|
-
if (isSymbolDefined(symName)) {
|
|
1137
|
-
sym = wasmImports[symName];
|
|
1138
|
-
} else
|
|
1139
|
-
// Asm.js-style exception handling: invoke wrapper generation
|
|
1140
|
-
if (symName.startsWith("invoke_")) {
|
|
1141
|
-
// Create (and cache) new invoke_ functions on demand.
|
|
1142
|
-
sym = wasmImports[symName] = createInvokeFunction(symName.split("_")[1]);
|
|
1143
|
-
}
|
|
1144
|
-
return {
|
|
1145
|
-
sym: sym,
|
|
1146
|
-
name: symName
|
|
1147
|
-
};
|
|
1148
|
-
};
|
|
1149
|
-
/**
|
|
1150
|
-
* Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
|
|
1151
|
-
* emscripten HEAP, returns a copy of that string as a Javascript String object.
|
|
1152
|
-
*
|
|
1153
|
-
* @param {number} ptr
|
|
1154
|
-
* @param {number=} maxBytesToRead - An optional length that specifies the
|
|
1155
|
-
* maximum number of bytes to read. You can omit this parameter to scan the
|
|
1156
|
-
* string until the first 0 byte. If maxBytesToRead is passed, and the string
|
|
1157
|
-
* at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
|
|
1158
|
-
* string will cut short at that byte index (i.e. maxBytesToRead will not
|
|
1159
|
-
* produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
|
|
1160
|
-
* frequent uses of UTF8ToString() with and without maxBytesToRead may throw
|
|
1161
|
-
* JS JIT optimizations off, so it is worth to consider consistently using one
|
|
1162
|
-
* @return {string}
|
|
1163
|
-
*/
|
|
1164
|
-
var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
|
|
1165
|
-
/**
|
|
1166
|
-
* @param {string=} libName
|
|
1167
|
-
* @param {Object=} localScope
|
|
1168
|
-
* @param {number=} handle
|
|
1169
|
-
*/
|
|
1170
|
-
var loadWebAssemblyModule = (binary, flags, libName, localScope, handle) => {
|
|
1171
|
-
var metadata = getDylinkMetadata(binary);
|
|
1172
|
-
currentModuleWeakSymbols = metadata.weakImports;
|
|
1173
|
-
// loadModule loads the wasm module after all its dependencies have been loaded.
|
|
1174
|
-
// can be called both sync/async.
|
|
1175
|
-
function loadModule() {
|
|
1176
|
-
{
|
|
1177
|
-
// alignments are powers of 2
|
|
1178
|
-
var memAlign = Math.pow(2, metadata.memoryAlign);
|
|
1179
|
-
// prepare memory
|
|
1180
|
-
var memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0;
|
|
1181
|
-
// TODO: add to cleanups
|
|
1182
|
-
var tableBase = metadata.tableSize ? wasmTable.length : 0;
|
|
1183
|
-
}
|
|
1184
|
-
var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length;
|
|
1185
|
-
if (tableGrowthNeeded > 0) {
|
|
1186
|
-
wasmTable.grow(tableGrowthNeeded);
|
|
1187
|
-
}
|
|
1188
|
-
// This is the export map that we ultimately return. We declare it here
|
|
1189
|
-
// so it can be used within resolveSymbol. We resolve symbols against
|
|
1190
|
-
// this local symbol map in the case there they are not present on the
|
|
1191
|
-
// global Module object. We need this fallback because Modules sometime
|
|
1192
|
-
// need to import their own symbols
|
|
1193
|
-
var moduleExports;
|
|
1194
|
-
function resolveSymbol(sym) {
|
|
1195
|
-
var resolved = resolveGlobalSymbol(sym).sym;
|
|
1196
|
-
if (!resolved && localScope) {
|
|
1197
|
-
resolved = localScope[sym];
|
|
1198
|
-
}
|
|
1199
|
-
if (!resolved) {
|
|
1200
|
-
resolved = moduleExports[sym];
|
|
1201
|
-
}
|
|
1202
|
-
return resolved;
|
|
1203
|
-
}
|
|
1204
|
-
// TODO kill ↓↓↓ (except "symbols local to this module", it will likely be
|
|
1205
|
-
// not needed if we require that if A wants symbols from B it has to link
|
|
1206
|
-
// to B explicitly: similarly to -Wl,--no-undefined)
|
|
1207
|
-
// wasm dynamic libraries are pure wasm, so they cannot assist in
|
|
1208
|
-
// their own loading. When side module A wants to import something
|
|
1209
|
-
// provided by a side module B that is loaded later, we need to
|
|
1210
|
-
// add a layer of indirection, but worse, we can't even tell what
|
|
1211
|
-
// to add the indirection for, without inspecting what A's imports
|
|
1212
|
-
// are. To do that here, we use a JS proxy (another option would
|
|
1213
|
-
// be to inspect the binary directly).
|
|
1214
|
-
var proxyHandler = {
|
|
1215
|
-
get(stubs, prop) {
|
|
1216
|
-
// symbols that should be local to this module
|
|
1217
|
-
switch (prop) {
|
|
1218
|
-
case "__memory_base":
|
|
1219
|
-
return memoryBase;
|
|
1220
|
-
case "__table_base":
|
|
1221
|
-
return tableBase;
|
|
1222
|
-
}
|
|
1223
|
-
if (prop in wasmImports && !wasmImports[prop].stub) {
|
|
1224
|
-
// No stub needed, symbol already exists in symbol table
|
|
1225
|
-
return wasmImports[prop];
|
|
1226
|
-
}
|
|
1227
|
-
// Return a stub function that will resolve the symbol
|
|
1228
|
-
// when first called.
|
|
1229
|
-
if (!(prop in stubs)) {
|
|
1230
|
-
var resolved;
|
|
1231
|
-
stubs[prop] = (...args) => {
|
|
1232
|
-
resolved ||= resolveSymbol(prop);
|
|
1233
|
-
return resolved(...args);
|
|
1234
|
-
};
|
|
1235
|
-
}
|
|
1236
|
-
return stubs[prop];
|
|
1237
|
-
}
|
|
1238
|
-
};
|
|
1239
|
-
var proxy = new Proxy({}, proxyHandler);
|
|
1240
|
-
var info = {
|
|
1241
|
-
"GOT.mem": new Proxy({}, GOTHandler),
|
|
1242
|
-
"GOT.func": new Proxy({}, GOTHandler),
|
|
1243
|
-
"env": proxy,
|
|
1244
|
-
"wasi_snapshot_preview1": proxy
|
|
1245
|
-
};
|
|
1246
|
-
function postInstantiation(module, instance) {
|
|
1247
|
-
// add new entries to functionsInTableMap
|
|
1248
|
-
updateTableMap(tableBase, metadata.tableSize);
|
|
1249
|
-
moduleExports = relocateExports(instance.exports, memoryBase);
|
|
1250
|
-
if (!flags.allowUndefined) {
|
|
1251
|
-
reportUndefinedSymbols();
|
|
1252
|
-
}
|
|
1253
|
-
function addEmAsm(addr, body) {
|
|
1254
|
-
var args = [];
|
|
1255
|
-
var arity = 0;
|
|
1256
|
-
for (; arity < 16; arity++) {
|
|
1257
|
-
if (body.indexOf("$" + arity) != -1) {
|
|
1258
|
-
args.push("$" + arity);
|
|
1259
|
-
} else {
|
|
1260
|
-
break;
|
|
1261
|
-
}
|
|
1262
|
-
}
|
|
1263
|
-
args = args.join(",");
|
|
1264
|
-
var func = `(${args}) => { ${body} };`;
|
|
1265
|
-
eval(func);
|
|
1266
|
-
}
|
|
1267
|
-
// Add any EM_ASM function that exist in the side module
|
|
1268
|
-
if ("__start_em_asm" in moduleExports) {
|
|
1269
|
-
var start = moduleExports["__start_em_asm"];
|
|
1270
|
-
var stop = moduleExports["__stop_em_asm"];
|
|
1271
|
-
while (start < stop) {
|
|
1272
|
-
var jsString = UTF8ToString(start);
|
|
1273
|
-
addEmAsm(start, jsString);
|
|
1274
|
-
start = HEAPU8.indexOf(0, start) + 1;
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
|
-
function addEmJs(name, cSig, body) {
|
|
1278
|
-
// The signature here is a C signature (e.g. "(int foo, char* bar)").
|
|
1279
|
-
// See `create_em_js` in emcc.py` for the build-time version of this
|
|
1280
|
-
// code.
|
|
1281
|
-
var jsArgs = [];
|
|
1282
|
-
cSig = cSig.slice(1, -1);
|
|
1283
|
-
if (cSig != "void") {
|
|
1284
|
-
cSig = cSig.split(",");
|
|
1285
|
-
for (var i in cSig) {
|
|
1286
|
-
var jsArg = cSig[i].split(" ").pop();
|
|
1287
|
-
jsArgs.push(jsArg.replace("*", ""));
|
|
1288
|
-
}
|
|
1289
|
-
}
|
|
1290
|
-
var func = `(${jsArgs}) => ${body};`;
|
|
1291
|
-
moduleExports[name] = eval(func);
|
|
1292
|
-
}
|
|
1293
|
-
for (var name in moduleExports) {
|
|
1294
|
-
if (name.startsWith("__em_js__")) {
|
|
1295
|
-
var start = moduleExports[name];
|
|
1296
|
-
var jsString = UTF8ToString(start);
|
|
1297
|
-
// EM_JS strings are stored in the data section in the form
|
|
1298
|
-
// SIG<::>BODY.
|
|
1299
|
-
var parts = jsString.split("<::>");
|
|
1300
|
-
addEmJs(name.replace("__em_js__", ""), parts[0], parts[1]);
|
|
1301
|
-
delete moduleExports[name];
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
// initialize the module
|
|
1305
|
-
var applyRelocs = moduleExports["__wasm_apply_data_relocs"];
|
|
1306
|
-
if (applyRelocs) {
|
|
1307
|
-
if (runtimeInitialized) {
|
|
1308
|
-
applyRelocs();
|
|
1309
|
-
} else {
|
|
1310
|
-
__RELOC_FUNCS__.push(applyRelocs);
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
var init = moduleExports["__wasm_call_ctors"];
|
|
1314
|
-
if (init) {
|
|
1315
|
-
if (runtimeInitialized) {
|
|
1316
|
-
init();
|
|
1317
|
-
} else {
|
|
1318
|
-
// we aren't ready to run compiled code yet
|
|
1319
|
-
__ATINIT__.push(init);
|
|
1320
|
-
}
|
|
1321
|
-
}
|
|
1322
|
-
return moduleExports;
|
|
1323
|
-
}
|
|
1324
|
-
if (flags.loadAsync) {
|
|
1325
|
-
if (binary instanceof WebAssembly.Module) {
|
|
1326
|
-
var instance = new WebAssembly.Instance(binary, info);
|
|
1327
|
-
return Promise.resolve(postInstantiation(binary, instance));
|
|
1328
|
-
}
|
|
1329
|
-
return WebAssembly.instantiate(binary, info).then(result => postInstantiation(result.module, result.instance));
|
|
1330
|
-
}
|
|
1331
|
-
var module = binary instanceof WebAssembly.Module ? binary : new WebAssembly.Module(binary);
|
|
1332
|
-
var instance = new WebAssembly.Instance(module, info);
|
|
1333
|
-
return postInstantiation(module, instance);
|
|
1334
|
-
}
|
|
1335
|
-
// now load needed libraries and the module itself.
|
|
1336
|
-
if (flags.loadAsync) {
|
|
1337
|
-
return metadata.neededDynlibs.reduce((chain, dynNeeded) => chain.then(() => loadDynamicLibrary(dynNeeded, flags, localScope)), Promise.resolve()).then(loadModule);
|
|
1338
|
-
}
|
|
1339
|
-
metadata.neededDynlibs.forEach(needed => loadDynamicLibrary(needed, flags, localScope));
|
|
1340
|
-
return loadModule();
|
|
1341
|
-
};
|
|
1342
|
-
var mergeLibSymbols = (exports, libName) => {
|
|
1343
|
-
// add symbols into global namespace TODO: weak linking etc.
|
|
1344
|
-
for (var [sym, exp] of Object.entries(exports)) {
|
|
1345
|
-
// When RTLD_GLOBAL is enabled, the symbols defined by this shared object
|
|
1346
|
-
// will be made available for symbol resolution of subsequently loaded
|
|
1347
|
-
// shared objects.
|
|
1348
|
-
// We should copy the symbols (which include methods and variables) from
|
|
1349
|
-
// SIDE_MODULE to MAIN_MODULE.
|
|
1350
|
-
const setImport = target => {
|
|
1351
|
-
if (!isSymbolDefined(target)) {
|
|
1352
|
-
wasmImports[target] = exp;
|
|
1353
|
-
}
|
|
1354
|
-
};
|
|
1355
|
-
setImport(sym);
|
|
1356
|
-
// Special case for handling of main symbol: If a side module exports
|
|
1357
|
-
// `main` that also acts a definition for `__main_argc_argv` and vice
|
|
1358
|
-
// versa.
|
|
1359
|
-
const main_alias = "__main_argc_argv";
|
|
1360
|
-
if (sym == "main") {
|
|
1361
|
-
setImport(main_alias);
|
|
1362
|
-
}
|
|
1363
|
-
if (sym == main_alias) {
|
|
1364
|
-
setImport("main");
|
|
1365
|
-
}
|
|
1366
|
-
if (sym.startsWith("dynCall_") && !Module.hasOwnProperty(sym)) {
|
|
1367
|
-
Module[sym] = exp;
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
};
|
|
1371
|
-
/** @param {boolean=} noRunDep */
|
|
1372
|
-
var asyncLoad = (url, onload, onerror, noRunDep) => {
|
|
1373
|
-
var dep = getUniqueRunDependency(`al ${url}`) ;
|
|
1374
|
-
readAsync(url).then(arrayBuffer => {
|
|
1375
|
-
onload(new Uint8Array(arrayBuffer));
|
|
1376
|
-
if (dep) removeRunDependency();
|
|
1377
|
-
}, err => {
|
|
1378
|
-
if (onerror) {
|
|
1379
|
-
onerror();
|
|
1380
|
-
} else {
|
|
1381
|
-
throw `Loading data file "${url}" failed.`;
|
|
1382
|
-
}
|
|
1383
|
-
});
|
|
1384
|
-
if (dep) addRunDependency();
|
|
1385
|
-
};
|
|
1386
|
-
/**
|
|
1387
|
-
* @param {number=} handle
|
|
1388
|
-
* @param {Object=} localScope
|
|
1389
|
-
*/
|
|
1390
|
-
function loadDynamicLibrary(libName, flags = {
|
|
1391
|
-
global: true,
|
|
1392
|
-
nodelete: true
|
|
1393
|
-
}, localScope, handle) {
|
|
1394
|
-
// when loadDynamicLibrary did not have flags, libraries were loaded
|
|
1395
|
-
// globally & permanently
|
|
1396
|
-
var dso = LDSO.loadedLibsByName[libName];
|
|
1397
|
-
if (dso) {
|
|
1398
|
-
// the library is being loaded or has been loaded already.
|
|
1399
|
-
if (!flags.global) ; else if (!dso.global) {
|
|
1400
|
-
// The library was previously loaded only locally but not
|
|
1401
|
-
// we have a request with global=true.
|
|
1402
|
-
dso.global = true;
|
|
1403
|
-
mergeLibSymbols(dso.exports);
|
|
1404
|
-
}
|
|
1405
|
-
// same for "nodelete"
|
|
1406
|
-
if (flags.nodelete && dso.refcount !== Infinity) {
|
|
1407
|
-
dso.refcount = Infinity;
|
|
1408
|
-
}
|
|
1409
|
-
dso.refcount++;
|
|
1410
|
-
return flags.loadAsync ? Promise.resolve(true) : true;
|
|
1411
|
-
}
|
|
1412
|
-
// allocate new DSO
|
|
1413
|
-
dso = newDSO(libName, handle, "loading");
|
|
1414
|
-
dso.refcount = flags.nodelete ? Infinity : 1;
|
|
1415
|
-
dso.global = flags.global;
|
|
1416
|
-
// libName -> libData
|
|
1417
|
-
function loadLibData() {
|
|
1418
|
-
var libFile = locateFile(libName);
|
|
1419
|
-
if (flags.loadAsync) {
|
|
1420
|
-
return new Promise(function (resolve, reject) {
|
|
1421
|
-
asyncLoad(libFile, resolve, reject);
|
|
1422
|
-
});
|
|
1423
|
-
}
|
|
1424
|
-
// load the binary synchronously
|
|
1425
|
-
if (!readBinary) {
|
|
1426
|
-
throw new Error(`${libFile}: file not found, and synchronous loading of external files is not available`);
|
|
1427
|
-
}
|
|
1428
|
-
return readBinary(libFile);
|
|
1429
|
-
}
|
|
1430
|
-
// libName -> exports
|
|
1431
|
-
function getExports() {
|
|
1432
|
-
// module not preloaded - load lib data and create new module from it
|
|
1433
|
-
if (flags.loadAsync) {
|
|
1434
|
-
return loadLibData().then(libData => loadWebAssemblyModule(libData, flags, libName, localScope));
|
|
1435
|
-
}
|
|
1436
|
-
return loadWebAssemblyModule(loadLibData(), flags, libName, localScope);
|
|
1437
|
-
}
|
|
1438
|
-
// module for lib is loaded - update the dso & global namespace
|
|
1439
|
-
function moduleLoaded(exports) {
|
|
1440
|
-
if (dso.global) {
|
|
1441
|
-
mergeLibSymbols(exports);
|
|
1442
|
-
}
|
|
1443
|
-
dso.exports = exports;
|
|
1444
|
-
}
|
|
1445
|
-
if (flags.loadAsync) {
|
|
1446
|
-
return getExports().then(exports => {
|
|
1447
|
-
moduleLoaded(exports);
|
|
1448
|
-
return true;
|
|
1449
|
-
});
|
|
1450
|
-
}
|
|
1451
|
-
moduleLoaded(getExports());
|
|
1452
|
-
return true;
|
|
1453
|
-
}
|
|
1454
|
-
var reportUndefinedSymbols = () => {
|
|
1455
|
-
for (var [symName, entry] of Object.entries(GOT)) {
|
|
1456
|
-
if (entry.value == 0) {
|
|
1457
|
-
var value = resolveGlobalSymbol(symName, true).sym;
|
|
1458
|
-
if (!value && !entry.required) {
|
|
1459
|
-
// Ignore undefined symbols that are imported as weak.
|
|
1460
|
-
continue;
|
|
1461
|
-
}
|
|
1462
|
-
if (typeof value == "function") {
|
|
1463
|
-
/** @suppress {checkTypes} */entry.value = addFunction(value, value.sig);
|
|
1464
|
-
} else if (typeof value == "number") {
|
|
1465
|
-
entry.value = value;
|
|
1466
|
-
} else {
|
|
1467
|
-
throw new Error(`bad export type for '${symName}': ${typeof value}`);
|
|
1468
|
-
}
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1471
|
-
};
|
|
1472
|
-
var loadDylibs = () => {
|
|
1473
|
-
if (!dynamicLibraries.length) {
|
|
1474
|
-
reportUndefinedSymbols();
|
|
1475
|
-
return;
|
|
1476
|
-
}
|
|
1477
|
-
// Load binaries asynchronously
|
|
1478
|
-
addRunDependency();
|
|
1479
|
-
dynamicLibraries.reduce((chain, lib) => chain.then(() => loadDynamicLibrary(lib, {
|
|
1480
|
-
loadAsync: true,
|
|
1481
|
-
global: true,
|
|
1482
|
-
nodelete: true,
|
|
1483
|
-
allowUndefined: true
|
|
1484
|
-
})), Promise.resolve()).then(() => {
|
|
1485
|
-
// we got them all, wonderful
|
|
1486
|
-
reportUndefinedSymbols();
|
|
1487
|
-
removeRunDependency();
|
|
1488
|
-
});
|
|
1489
|
-
};
|
|
1490
|
-
var noExitRuntime = Module["noExitRuntime"] || true;
|
|
1491
|
-
/**
|
|
1492
|
-
* @param {number} ptr
|
|
1493
|
-
* @param {number} value
|
|
1494
|
-
* @param {string} type
|
|
1495
|
-
*/
|
|
1496
|
-
function setValue(ptr, value, type = "i8") {
|
|
1497
|
-
if (type.endsWith("*")) type = "*";
|
|
1498
|
-
switch (type) {
|
|
1499
|
-
case "i1":
|
|
1500
|
-
HEAP8[ptr] = value;
|
|
1501
|
-
break;
|
|
1502
|
-
case "i8":
|
|
1503
|
-
HEAP8[ptr] = value;
|
|
1504
|
-
break;
|
|
1505
|
-
case "i16":
|
|
1506
|
-
LE_HEAP_STORE_I16((ptr >> 1) * 2, value);
|
|
1507
|
-
break;
|
|
1508
|
-
case "i32":
|
|
1509
|
-
LE_HEAP_STORE_I32((ptr >> 2) * 4, value);
|
|
1510
|
-
break;
|
|
1511
|
-
case "i64":
|
|
1512
|
-
abort("to do setValue(i64) use WASM_BIGINT");
|
|
1513
|
-
case "float":
|
|
1514
|
-
LE_HEAP_STORE_F32((ptr >> 2) * 4, value);
|
|
1515
|
-
break;
|
|
1516
|
-
case "double":
|
|
1517
|
-
LE_HEAP_STORE_F64((ptr >> 3) * 8, value);
|
|
1518
|
-
break;
|
|
1519
|
-
case "*":
|
|
1520
|
-
LE_HEAP_STORE_U32((ptr >> 2) * 4, value);
|
|
1521
|
-
break;
|
|
1522
|
-
default:
|
|
1523
|
-
abort(`invalid type for setValue: ${type}`);
|
|
1524
|
-
}
|
|
1525
|
-
}
|
|
1526
|
-
var ___memory_base = new WebAssembly.Global({
|
|
1527
|
-
"value": "i32",
|
|
1528
|
-
"mutable": false
|
|
1529
|
-
}, 1024);
|
|
1530
|
-
var ___stack_pointer = new WebAssembly.Global({
|
|
1531
|
-
"value": "i32",
|
|
1532
|
-
"mutable": true
|
|
1533
|
-
}, 78112);
|
|
1534
|
-
var ___table_base = new WebAssembly.Global({
|
|
1535
|
-
"value": "i32",
|
|
1536
|
-
"mutable": false
|
|
1537
|
-
}, 1);
|
|
1538
|
-
var __abort_js = () => {
|
|
1539
|
-
abort("");
|
|
1540
|
-
};
|
|
1541
|
-
__abort_js.sig = "v";
|
|
1542
|
-
var nowIsMonotonic = 1;
|
|
1543
|
-
var __emscripten_get_now_is_monotonic = () => nowIsMonotonic;
|
|
1544
|
-
__emscripten_get_now_is_monotonic.sig = "i";
|
|
1545
|
-
var __emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num);
|
|
1546
|
-
__emscripten_memcpy_js.sig = "vppp";
|
|
1547
|
-
var _emscripten_get_now;
|
|
1548
|
-
// Modern environment where performance.now() is supported:
|
|
1549
|
-
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
|
|
1550
|
-
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
|
|
1551
|
-
_emscripten_get_now = () => performance.now();
|
|
1552
|
-
_emscripten_get_now.sig = "d";
|
|
1553
|
-
var getHeapMax = () =>
|
|
1554
|
-
// Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
|
|
1555
|
-
// full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
|
|
1556
|
-
// for any code that deals with heap sizes, which would require special
|
|
1557
|
-
// casing all heap size related code to treat 0 specially.
|
|
1558
|
-
2147483648;
|
|
1559
|
-
var growMemory = size => {
|
|
1560
|
-
var b = wasmMemory.buffer;
|
|
1561
|
-
var pages = (size - b.byteLength + 65535) / 65536;
|
|
1562
|
-
try {
|
|
1563
|
-
// round size grow request up to wasm page size (fixed 64KB per spec)
|
|
1564
|
-
wasmMemory.grow(pages);
|
|
1565
|
-
// .grow() takes a delta compared to the previous size
|
|
1566
|
-
updateMemoryViews();
|
|
1567
|
-
return 1;
|
|
1568
|
-
} /*success*/ catch (e) {}
|
|
1569
|
-
};
|
|
1570
|
-
// implicit 0 return to save code size (caller will cast "undefined" into 0
|
|
1571
|
-
// anyhow)
|
|
1572
|
-
var _emscripten_resize_heap = requestedSize => {
|
|
1573
|
-
var oldSize = HEAPU8.length;
|
|
1574
|
-
// With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
|
|
1575
|
-
requestedSize >>>= 0;
|
|
1576
|
-
// With multithreaded builds, races can happen (another thread might increase the size
|
|
1577
|
-
// in between), so return a failure, and let the caller retry.
|
|
1578
|
-
// Memory resize rules:
|
|
1579
|
-
// 1. Always increase heap size to at least the requested size, rounded up
|
|
1580
|
-
// to next page multiple.
|
|
1581
|
-
// 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
|
|
1582
|
-
// geometrically: increase the heap size according to
|
|
1583
|
-
// MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
|
|
1584
|
-
// overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
|
|
1585
|
-
// 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
|
|
1586
|
-
// linearly: increase the heap size by at least
|
|
1587
|
-
// MEMORY_GROWTH_LINEAR_STEP bytes.
|
|
1588
|
-
// 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
|
|
1589
|
-
// MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
|
|
1590
|
-
// 4. If we were unable to allocate as much memory, it may be due to
|
|
1591
|
-
// over-eager decision to excessively reserve due to (3) above.
|
|
1592
|
-
// Hence if an allocation fails, cut down on the amount of excess
|
|
1593
|
-
// growth, in an attempt to succeed to perform a smaller allocation.
|
|
1594
|
-
// A limit is set for how much we can grow. We should not exceed that
|
|
1595
|
-
// (the wasm binary specifies it, so if we tried, we'd fail anyhow).
|
|
1596
|
-
var maxHeapSize = getHeapMax();
|
|
1597
|
-
if (requestedSize > maxHeapSize) {
|
|
1598
|
-
return false;
|
|
1599
|
-
}
|
|
1600
|
-
var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
|
|
1601
|
-
// Loop through potential heap size increases. If we attempt a too eager
|
|
1602
|
-
// reservation that fails, cut down on the attempted size and reserve a
|
|
1603
|
-
// smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
|
|
1604
|
-
for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
1605
|
-
var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
|
|
1606
|
-
// ensure geometric growth
|
|
1607
|
-
// but limit overreserving (default to capping at +96MB overgrowth at most)
|
|
1608
|
-
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
|
|
1609
|
-
var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
|
|
1610
|
-
var replacement = growMemory(newSize);
|
|
1611
|
-
if (replacement) {
|
|
1612
|
-
return true;
|
|
1613
|
-
}
|
|
1614
|
-
}
|
|
1615
|
-
return false;
|
|
1616
|
-
};
|
|
1617
|
-
_emscripten_resize_heap.sig = "ip";
|
|
1618
|
-
var _fd_close = fd => 52;
|
|
1619
|
-
_fd_close.sig = "ii";
|
|
1620
|
-
function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
|
|
1621
|
-
return 70;
|
|
1622
|
-
}
|
|
1623
|
-
_fd_seek.sig = "iiiiip";
|
|
1624
|
-
var printCharBuffers = [null, [], []];
|
|
1625
|
-
var printChar = (stream, curr) => {
|
|
1626
|
-
var buffer = printCharBuffers[stream];
|
|
1627
|
-
if (curr === 0 || curr === 10) {
|
|
1628
|
-
(stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
|
|
1629
|
-
buffer.length = 0;
|
|
1630
|
-
} else {
|
|
1631
|
-
buffer.push(curr);
|
|
1632
|
-
}
|
|
1633
|
-
};
|
|
1634
|
-
var _fd_write = (fd, iov, iovcnt, pnum) => {
|
|
1635
|
-
// hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0
|
|
1636
|
-
var num = 0;
|
|
1637
|
-
for (var i = 0; i < iovcnt; i++) {
|
|
1638
|
-
var ptr = LE_HEAP_LOAD_U32((iov >> 2) * 4);
|
|
1639
|
-
var len = LE_HEAP_LOAD_U32((iov + 4 >> 2) * 4);
|
|
1640
|
-
iov += 8;
|
|
1641
|
-
for (var j = 0; j < len; j++) {
|
|
1642
|
-
printChar(fd, HEAPU8[ptr + j]);
|
|
1643
|
-
}
|
|
1644
|
-
num += len;
|
|
1645
|
-
}
|
|
1646
|
-
LE_HEAP_STORE_U32((pnum >> 2) * 4, num);
|
|
1647
|
-
return 0;
|
|
1648
|
-
};
|
|
1649
|
-
_fd_write.sig = "iippp";
|
|
1650
|
-
function _tree_sitter_log_callback(isLexMessage, messageAddress) {
|
|
1651
|
-
if (currentLogCallback) {
|
|
1652
|
-
const message = UTF8ToString(messageAddress);
|
|
1653
|
-
currentLogCallback(message, isLexMessage !== 0);
|
|
1654
|
-
}
|
|
1655
|
-
}
|
|
1656
|
-
function _tree_sitter_parse_callback(inputBufferAddress, index, row, column, lengthAddress) {
|
|
1657
|
-
const INPUT_BUFFER_SIZE = 10 * 1024;
|
|
1658
|
-
const string = currentParseCallback(index, {
|
|
1659
|
-
row: row,
|
|
1660
|
-
column: column
|
|
1661
|
-
});
|
|
1662
|
-
if (typeof string === "string") {
|
|
1663
|
-
setValue(lengthAddress, string.length, "i32");
|
|
1664
|
-
stringToUTF16(string, inputBufferAddress, INPUT_BUFFER_SIZE);
|
|
1665
|
-
} else {
|
|
1666
|
-
setValue(lengthAddress, 0, "i32");
|
|
1667
|
-
}
|
|
1668
|
-
}
|
|
1669
|
-
var runtimeKeepaliveCounter = 0;
|
|
1670
|
-
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
|
|
1671
|
-
var _proc_exit = code => {
|
|
1672
|
-
EXITSTATUS = code;
|
|
1673
|
-
if (!keepRuntimeAlive()) {
|
|
1674
|
-
Module["onExit"]?.(code);
|
|
1675
|
-
ABORT = true;
|
|
1676
|
-
}
|
|
1677
|
-
quit_(code, new ExitStatus(code));
|
|
1678
|
-
};
|
|
1679
|
-
_proc_exit.sig = "vi";
|
|
1680
|
-
/** @param {boolean|number=} implicit */
|
|
1681
|
-
var exitJS = (status, implicit) => {
|
|
1682
|
-
EXITSTATUS = status;
|
|
1683
|
-
_proc_exit(status);
|
|
1684
|
-
};
|
|
1685
|
-
var handleException = e => {
|
|
1686
|
-
// Certain exception types we do not treat as errors since they are used for
|
|
1687
|
-
// internal control flow.
|
|
1688
|
-
// 1. ExitStatus, which is thrown by exit()
|
|
1689
|
-
// 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others
|
|
1690
|
-
// that wish to return to JS event loop.
|
|
1691
|
-
if (e instanceof ExitStatus || e == "unwind") {
|
|
1692
|
-
return EXITSTATUS;
|
|
1693
|
-
}
|
|
1694
|
-
quit_(1, e);
|
|
1695
|
-
};
|
|
1696
|
-
var lengthBytesUTF8 = str => {
|
|
1697
|
-
var len = 0;
|
|
1698
|
-
for (var i = 0; i < str.length; ++i) {
|
|
1699
|
-
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
|
|
1700
|
-
// unit, not a Unicode code point of the character! So decode
|
|
1701
|
-
// UTF16->UTF32->UTF8.
|
|
1702
|
-
// See http://unicode.org/faq/utf_bom.html#utf16-3
|
|
1703
|
-
var c = str.charCodeAt(i);
|
|
1704
|
-
// possibly a lead surrogate
|
|
1705
|
-
if (c <= 127) {
|
|
1706
|
-
len++;
|
|
1707
|
-
} else if (c <= 2047) {
|
|
1708
|
-
len += 2;
|
|
1709
|
-
} else if (c >= 55296 && c <= 57343) {
|
|
1710
|
-
len += 4;
|
|
1711
|
-
++i;
|
|
1712
|
-
} else {
|
|
1713
|
-
len += 3;
|
|
1714
|
-
}
|
|
1715
|
-
}
|
|
1716
|
-
return len;
|
|
1717
|
-
};
|
|
1718
|
-
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
|
|
1719
|
-
// Parameter maxBytesToWrite is not optional. Negative values, 0, null,
|
|
1720
|
-
// undefined and false each don't write out any bytes.
|
|
1721
|
-
if (!(maxBytesToWrite > 0)) return 0;
|
|
1722
|
-
var startIdx = outIdx;
|
|
1723
|
-
var endIdx = outIdx + maxBytesToWrite - 1;
|
|
1724
|
-
// -1 for string null terminator.
|
|
1725
|
-
for (var i = 0; i < str.length; ++i) {
|
|
1726
|
-
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
|
|
1727
|
-
// unit, not a Unicode code point of the character! So decode
|
|
1728
|
-
// UTF16->UTF32->UTF8.
|
|
1729
|
-
// See http://unicode.org/faq/utf_bom.html#utf16-3
|
|
1730
|
-
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
|
|
1731
|
-
// and https://www.ietf.org/rfc/rfc2279.txt
|
|
1732
|
-
// and https://tools.ietf.org/html/rfc3629
|
|
1733
|
-
var u = str.charCodeAt(i);
|
|
1734
|
-
// possibly a lead surrogate
|
|
1735
|
-
if (u >= 55296 && u <= 57343) {
|
|
1736
|
-
var u1 = str.charCodeAt(++i);
|
|
1737
|
-
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
|
|
1738
|
-
}
|
|
1739
|
-
if (u <= 127) {
|
|
1740
|
-
if (outIdx >= endIdx) break;
|
|
1741
|
-
heap[outIdx++] = u;
|
|
1742
|
-
} else if (u <= 2047) {
|
|
1743
|
-
if (outIdx + 1 >= endIdx) break;
|
|
1744
|
-
heap[outIdx++] = 192 | u >> 6;
|
|
1745
|
-
heap[outIdx++] = 128 | u & 63;
|
|
1746
|
-
} else if (u <= 65535) {
|
|
1747
|
-
if (outIdx + 2 >= endIdx) break;
|
|
1748
|
-
heap[outIdx++] = 224 | u >> 12;
|
|
1749
|
-
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
1750
|
-
heap[outIdx++] = 128 | u & 63;
|
|
1751
|
-
} else {
|
|
1752
|
-
if (outIdx + 3 >= endIdx) break;
|
|
1753
|
-
heap[outIdx++] = 240 | u >> 18;
|
|
1754
|
-
heap[outIdx++] = 128 | u >> 12 & 63;
|
|
1755
|
-
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
1756
|
-
heap[outIdx++] = 128 | u & 63;
|
|
1757
|
-
}
|
|
1758
|
-
}
|
|
1759
|
-
// Null-terminate the pointer to the buffer.
|
|
1760
|
-
heap[outIdx] = 0;
|
|
1761
|
-
return outIdx - startIdx;
|
|
1762
|
-
};
|
|
1763
|
-
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
1764
|
-
var stackAlloc = sz => __emscripten_stack_alloc(sz);
|
|
1765
|
-
var stringToUTF8OnStack = str => {
|
|
1766
|
-
var size = lengthBytesUTF8(str) + 1;
|
|
1767
|
-
var ret = stackAlloc(size);
|
|
1768
|
-
stringToUTF8(str, ret, size);
|
|
1769
|
-
return ret;
|
|
1770
|
-
};
|
|
1771
|
-
var stringToUTF16 = (str, outPtr, maxBytesToWrite) => {
|
|
1772
|
-
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
|
|
1773
|
-
maxBytesToWrite ??= 2147483647;
|
|
1774
|
-
if (maxBytesToWrite < 2) return 0;
|
|
1775
|
-
maxBytesToWrite -= 2;
|
|
1776
|
-
// Null terminator.
|
|
1777
|
-
var startPtr = outPtr;
|
|
1778
|
-
var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
|
|
1779
|
-
for (var i = 0; i < numCharsToWrite; ++i) {
|
|
1780
|
-
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
|
|
1781
|
-
var codeUnit = str.charCodeAt(i);
|
|
1782
|
-
// possibly a lead surrogate
|
|
1783
|
-
LE_HEAP_STORE_I16((outPtr >> 1) * 2, codeUnit);
|
|
1784
|
-
outPtr += 2;
|
|
1785
|
-
}
|
|
1786
|
-
// Null-terminate the pointer to the HEAP.
|
|
1787
|
-
LE_HEAP_STORE_I16((outPtr >> 1) * 2, 0);
|
|
1788
|
-
return outPtr - startPtr;
|
|
1789
|
-
};
|
|
1790
|
-
var AsciiToString = ptr => {
|
|
1791
|
-
var str = "";
|
|
1792
|
-
while (1) {
|
|
1793
|
-
var ch = HEAPU8[ptr++];
|
|
1794
|
-
if (!ch) return str;
|
|
1795
|
-
str += String.fromCharCode(ch);
|
|
1796
|
-
}
|
|
1797
|
-
};
|
|
1798
|
-
var wasmImports = {
|
|
1799
|
-
/** @export */__heap_base: ___heap_base,
|
|
1800
|
-
/** @export */__indirect_function_table: wasmTable,
|
|
1801
|
-
/** @export */__memory_base: ___memory_base,
|
|
1802
|
-
/** @export */__stack_pointer: ___stack_pointer,
|
|
1803
|
-
/** @export */__table_base: ___table_base,
|
|
1804
|
-
/** @export */_abort_js: __abort_js,
|
|
1805
|
-
/** @export */_emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic,
|
|
1806
|
-
/** @export */_emscripten_memcpy_js: __emscripten_memcpy_js,
|
|
1807
|
-
/** @export */emscripten_get_now: _emscripten_get_now,
|
|
1808
|
-
/** @export */emscripten_resize_heap: _emscripten_resize_heap,
|
|
1809
|
-
/** @export */fd_close: _fd_close,
|
|
1810
|
-
/** @export */fd_seek: _fd_seek,
|
|
1811
|
-
/** @export */fd_write: _fd_write,
|
|
1812
|
-
/** @export */memory: wasmMemory,
|
|
1813
|
-
/** @export */tree_sitter_log_callback: _tree_sitter_log_callback,
|
|
1814
|
-
/** @export */tree_sitter_parse_callback: _tree_sitter_parse_callback
|
|
1815
|
-
};
|
|
1816
|
-
var wasmExports = createWasm();
|
|
1817
|
-
var _malloc = Module["_malloc"] = a0 => (_malloc = Module["_malloc"] = wasmExports["malloc"])(a0);
|
|
1818
|
-
Module["_calloc"] = (a0, a1) => (Module["_calloc"] = wasmExports["calloc"])(a0, a1);
|
|
1819
|
-
Module["_realloc"] = (a0, a1) => (Module["_realloc"] = wasmExports["realloc"])(a0, a1);
|
|
1820
|
-
Module["_free"] = a0 => (Module["_free"] = wasmExports["free"])(a0);
|
|
1821
|
-
Module["_ts_language_symbol_count"] = a0 => (Module["_ts_language_symbol_count"] = wasmExports["ts_language_symbol_count"])(a0);
|
|
1822
|
-
Module["_ts_language_state_count"] = a0 => (Module["_ts_language_state_count"] = wasmExports["ts_language_state_count"])(a0);
|
|
1823
|
-
Module["_ts_language_version"] = a0 => (Module["_ts_language_version"] = wasmExports["ts_language_version"])(a0);
|
|
1824
|
-
Module["_ts_language_field_count"] = a0 => (Module["_ts_language_field_count"] = wasmExports["ts_language_field_count"])(a0);
|
|
1825
|
-
Module["_ts_language_next_state"] = (a0, a1, a2) => (Module["_ts_language_next_state"] = wasmExports["ts_language_next_state"])(a0, a1, a2);
|
|
1826
|
-
Module["_ts_language_symbol_name"] = (a0, a1) => (Module["_ts_language_symbol_name"] = wasmExports["ts_language_symbol_name"])(a0, a1);
|
|
1827
|
-
Module["_ts_language_symbol_for_name"] = (a0, a1, a2, a3) => (Module["_ts_language_symbol_for_name"] = wasmExports["ts_language_symbol_for_name"])(a0, a1, a2, a3);
|
|
1828
|
-
Module["_strncmp"] = (a0, a1, a2) => (Module["_strncmp"] = wasmExports["strncmp"])(a0, a1, a2);
|
|
1829
|
-
Module["_ts_language_symbol_type"] = (a0, a1) => (Module["_ts_language_symbol_type"] = wasmExports["ts_language_symbol_type"])(a0, a1);
|
|
1830
|
-
Module["_ts_language_field_name_for_id"] = (a0, a1) => (Module["_ts_language_field_name_for_id"] = wasmExports["ts_language_field_name_for_id"])(a0, a1);
|
|
1831
|
-
Module["_ts_lookahead_iterator_new"] = (a0, a1) => (Module["_ts_lookahead_iterator_new"] = wasmExports["ts_lookahead_iterator_new"])(a0, a1);
|
|
1832
|
-
Module["_ts_lookahead_iterator_delete"] = a0 => (Module["_ts_lookahead_iterator_delete"] = wasmExports["ts_lookahead_iterator_delete"])(a0);
|
|
1833
|
-
Module["_ts_lookahead_iterator_reset_state"] = (a0, a1) => (Module["_ts_lookahead_iterator_reset_state"] = wasmExports["ts_lookahead_iterator_reset_state"])(a0, a1);
|
|
1834
|
-
Module["_ts_lookahead_iterator_reset"] = (a0, a1, a2) => (Module["_ts_lookahead_iterator_reset"] = wasmExports["ts_lookahead_iterator_reset"])(a0, a1, a2);
|
|
1835
|
-
Module["_ts_lookahead_iterator_next"] = a0 => (Module["_ts_lookahead_iterator_next"] = wasmExports["ts_lookahead_iterator_next"])(a0);
|
|
1836
|
-
Module["_ts_lookahead_iterator_current_symbol"] = a0 => (Module["_ts_lookahead_iterator_current_symbol"] = wasmExports["ts_lookahead_iterator_current_symbol"])(a0);
|
|
1837
|
-
Module["_memset"] = (a0, a1, a2) => (Module["_memset"] = wasmExports["memset"])(a0, a1, a2);
|
|
1838
|
-
Module["_memcpy"] = (a0, a1, a2) => (Module["_memcpy"] = wasmExports["memcpy"])(a0, a1, a2);
|
|
1839
|
-
Module["_ts_parser_delete"] = a0 => (Module["_ts_parser_delete"] = wasmExports["ts_parser_delete"])(a0);
|
|
1840
|
-
Module["_ts_parser_reset"] = a0 => (Module["_ts_parser_reset"] = wasmExports["ts_parser_reset"])(a0);
|
|
1841
|
-
Module["_ts_parser_set_language"] = (a0, a1) => (Module["_ts_parser_set_language"] = wasmExports["ts_parser_set_language"])(a0, a1);
|
|
1842
|
-
Module["_ts_parser_timeout_micros"] = a0 => (Module["_ts_parser_timeout_micros"] = wasmExports["ts_parser_timeout_micros"])(a0);
|
|
1843
|
-
Module["_ts_parser_set_timeout_micros"] = (a0, a1, a2) => (Module["_ts_parser_set_timeout_micros"] = wasmExports["ts_parser_set_timeout_micros"])(a0, a1, a2);
|
|
1844
|
-
Module["_ts_parser_set_included_ranges"] = (a0, a1, a2) => (Module["_ts_parser_set_included_ranges"] = wasmExports["ts_parser_set_included_ranges"])(a0, a1, a2);
|
|
1845
|
-
Module["_memmove"] = (a0, a1, a2) => (Module["_memmove"] = wasmExports["memmove"])(a0, a1, a2);
|
|
1846
|
-
Module["_memcmp"] = (a0, a1, a2) => (Module["_memcmp"] = wasmExports["memcmp"])(a0, a1, a2);
|
|
1847
|
-
Module["_ts_query_new"] = (a0, a1, a2, a3, a4) => (Module["_ts_query_new"] = wasmExports["ts_query_new"])(a0, a1, a2, a3, a4);
|
|
1848
|
-
Module["_ts_query_delete"] = a0 => (Module["_ts_query_delete"] = wasmExports["ts_query_delete"])(a0);
|
|
1849
|
-
Module["_iswspace"] = a0 => (Module["_iswspace"] = wasmExports["iswspace"])(a0);
|
|
1850
|
-
Module["_iswalnum"] = a0 => (Module["_iswalnum"] = wasmExports["iswalnum"])(a0);
|
|
1851
|
-
Module["_ts_query_pattern_count"] = a0 => (Module["_ts_query_pattern_count"] = wasmExports["ts_query_pattern_count"])(a0);
|
|
1852
|
-
Module["_ts_query_capture_count"] = a0 => (Module["_ts_query_capture_count"] = wasmExports["ts_query_capture_count"])(a0);
|
|
1853
|
-
Module["_ts_query_string_count"] = a0 => (Module["_ts_query_string_count"] = wasmExports["ts_query_string_count"])(a0);
|
|
1854
|
-
Module["_ts_query_capture_name_for_id"] = (a0, a1, a2) => (Module["_ts_query_capture_name_for_id"] = wasmExports["ts_query_capture_name_for_id"])(a0, a1, a2);
|
|
1855
|
-
Module["_ts_query_string_value_for_id"] = (a0, a1, a2) => (Module["_ts_query_string_value_for_id"] = wasmExports["ts_query_string_value_for_id"])(a0, a1, a2);
|
|
1856
|
-
Module["_ts_query_predicates_for_pattern"] = (a0, a1, a2) => (Module["_ts_query_predicates_for_pattern"] = wasmExports["ts_query_predicates_for_pattern"])(a0, a1, a2);
|
|
1857
|
-
Module["_ts_query_disable_capture"] = (a0, a1, a2) => (Module["_ts_query_disable_capture"] = wasmExports["ts_query_disable_capture"])(a0, a1, a2);
|
|
1858
|
-
Module["_ts_tree_copy"] = a0 => (Module["_ts_tree_copy"] = wasmExports["ts_tree_copy"])(a0);
|
|
1859
|
-
Module["_ts_tree_delete"] = a0 => (Module["_ts_tree_delete"] = wasmExports["ts_tree_delete"])(a0);
|
|
1860
|
-
Module["_ts_init"] = () => (Module["_ts_init"] = wasmExports["ts_init"])();
|
|
1861
|
-
Module["_ts_parser_new_wasm"] = () => (Module["_ts_parser_new_wasm"] = wasmExports["ts_parser_new_wasm"])();
|
|
1862
|
-
Module["_ts_parser_enable_logger_wasm"] = (a0, a1) => (Module["_ts_parser_enable_logger_wasm"] = wasmExports["ts_parser_enable_logger_wasm"])(a0, a1);
|
|
1863
|
-
Module["_ts_parser_parse_wasm"] = (a0, a1, a2, a3, a4) => (Module["_ts_parser_parse_wasm"] = wasmExports["ts_parser_parse_wasm"])(a0, a1, a2, a3, a4);
|
|
1864
|
-
Module["_ts_parser_included_ranges_wasm"] = a0 => (Module["_ts_parser_included_ranges_wasm"] = wasmExports["ts_parser_included_ranges_wasm"])(a0);
|
|
1865
|
-
Module["_ts_language_type_is_named_wasm"] = (a0, a1) => (Module["_ts_language_type_is_named_wasm"] = wasmExports["ts_language_type_is_named_wasm"])(a0, a1);
|
|
1866
|
-
Module["_ts_language_type_is_visible_wasm"] = (a0, a1) => (Module["_ts_language_type_is_visible_wasm"] = wasmExports["ts_language_type_is_visible_wasm"])(a0, a1);
|
|
1867
|
-
Module["_ts_tree_root_node_wasm"] = a0 => (Module["_ts_tree_root_node_wasm"] = wasmExports["ts_tree_root_node_wasm"])(a0);
|
|
1868
|
-
Module["_ts_tree_root_node_with_offset_wasm"] = a0 => (Module["_ts_tree_root_node_with_offset_wasm"] = wasmExports["ts_tree_root_node_with_offset_wasm"])(a0);
|
|
1869
|
-
Module["_ts_tree_edit_wasm"] = a0 => (Module["_ts_tree_edit_wasm"] = wasmExports["ts_tree_edit_wasm"])(a0);
|
|
1870
|
-
Module["_ts_tree_included_ranges_wasm"] = a0 => (Module["_ts_tree_included_ranges_wasm"] = wasmExports["ts_tree_included_ranges_wasm"])(a0);
|
|
1871
|
-
Module["_ts_tree_get_changed_ranges_wasm"] = (a0, a1) => (Module["_ts_tree_get_changed_ranges_wasm"] = wasmExports["ts_tree_get_changed_ranges_wasm"])(a0, a1);
|
|
1872
|
-
Module["_ts_tree_cursor_new_wasm"] = a0 => (Module["_ts_tree_cursor_new_wasm"] = wasmExports["ts_tree_cursor_new_wasm"])(a0);
|
|
1873
|
-
Module["_ts_tree_cursor_delete_wasm"] = a0 => (Module["_ts_tree_cursor_delete_wasm"] = wasmExports["ts_tree_cursor_delete_wasm"])(a0);
|
|
1874
|
-
Module["_ts_tree_cursor_reset_wasm"] = a0 => (Module["_ts_tree_cursor_reset_wasm"] = wasmExports["ts_tree_cursor_reset_wasm"])(a0);
|
|
1875
|
-
Module["_ts_tree_cursor_reset_to_wasm"] = (a0, a1) => (Module["_ts_tree_cursor_reset_to_wasm"] = wasmExports["ts_tree_cursor_reset_to_wasm"])(a0, a1);
|
|
1876
|
-
Module["_ts_tree_cursor_goto_first_child_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_wasm"])(a0);
|
|
1877
|
-
Module["_ts_tree_cursor_goto_last_child_wasm"] = a0 => (Module["_ts_tree_cursor_goto_last_child_wasm"] = wasmExports["ts_tree_cursor_goto_last_child_wasm"])(a0);
|
|
1878
|
-
Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_for_index_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_index_wasm"])(a0);
|
|
1879
|
-
Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = a0 => (Module["_ts_tree_cursor_goto_first_child_for_position_wasm"] = wasmExports["ts_tree_cursor_goto_first_child_for_position_wasm"])(a0);
|
|
1880
|
-
Module["_ts_tree_cursor_goto_next_sibling_wasm"] = a0 => (Module["_ts_tree_cursor_goto_next_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_next_sibling_wasm"])(a0);
|
|
1881
|
-
Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = a0 => (Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = wasmExports["ts_tree_cursor_goto_previous_sibling_wasm"])(a0);
|
|
1882
|
-
Module["_ts_tree_cursor_goto_descendant_wasm"] = (a0, a1) => (Module["_ts_tree_cursor_goto_descendant_wasm"] = wasmExports["ts_tree_cursor_goto_descendant_wasm"])(a0, a1);
|
|
1883
|
-
Module["_ts_tree_cursor_goto_parent_wasm"] = a0 => (Module["_ts_tree_cursor_goto_parent_wasm"] = wasmExports["ts_tree_cursor_goto_parent_wasm"])(a0);
|
|
1884
|
-
Module["_ts_tree_cursor_current_node_type_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_type_id_wasm"] = wasmExports["ts_tree_cursor_current_node_type_id_wasm"])(a0);
|
|
1885
|
-
Module["_ts_tree_cursor_current_node_state_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_state_id_wasm"] = wasmExports["ts_tree_cursor_current_node_state_id_wasm"])(a0);
|
|
1886
|
-
Module["_ts_tree_cursor_current_node_is_named_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_is_named_wasm"] = wasmExports["ts_tree_cursor_current_node_is_named_wasm"])(a0);
|
|
1887
|
-
Module["_ts_tree_cursor_current_node_is_missing_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_is_missing_wasm"] = wasmExports["ts_tree_cursor_current_node_is_missing_wasm"])(a0);
|
|
1888
|
-
Module["_ts_tree_cursor_current_node_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_id_wasm"] = wasmExports["ts_tree_cursor_current_node_id_wasm"])(a0);
|
|
1889
|
-
Module["_ts_tree_cursor_start_position_wasm"] = a0 => (Module["_ts_tree_cursor_start_position_wasm"] = wasmExports["ts_tree_cursor_start_position_wasm"])(a0);
|
|
1890
|
-
Module["_ts_tree_cursor_end_position_wasm"] = a0 => (Module["_ts_tree_cursor_end_position_wasm"] = wasmExports["ts_tree_cursor_end_position_wasm"])(a0);
|
|
1891
|
-
Module["_ts_tree_cursor_start_index_wasm"] = a0 => (Module["_ts_tree_cursor_start_index_wasm"] = wasmExports["ts_tree_cursor_start_index_wasm"])(a0);
|
|
1892
|
-
Module["_ts_tree_cursor_end_index_wasm"] = a0 => (Module["_ts_tree_cursor_end_index_wasm"] = wasmExports["ts_tree_cursor_end_index_wasm"])(a0);
|
|
1893
|
-
Module["_ts_tree_cursor_current_field_id_wasm"] = a0 => (Module["_ts_tree_cursor_current_field_id_wasm"] = wasmExports["ts_tree_cursor_current_field_id_wasm"])(a0);
|
|
1894
|
-
Module["_ts_tree_cursor_current_depth_wasm"] = a0 => (Module["_ts_tree_cursor_current_depth_wasm"] = wasmExports["ts_tree_cursor_current_depth_wasm"])(a0);
|
|
1895
|
-
Module["_ts_tree_cursor_current_descendant_index_wasm"] = a0 => (Module["_ts_tree_cursor_current_descendant_index_wasm"] = wasmExports["ts_tree_cursor_current_descendant_index_wasm"])(a0);
|
|
1896
|
-
Module["_ts_tree_cursor_current_node_wasm"] = a0 => (Module["_ts_tree_cursor_current_node_wasm"] = wasmExports["ts_tree_cursor_current_node_wasm"])(a0);
|
|
1897
|
-
Module["_ts_node_symbol_wasm"] = a0 => (Module["_ts_node_symbol_wasm"] = wasmExports["ts_node_symbol_wasm"])(a0);
|
|
1898
|
-
Module["_ts_node_field_name_for_child_wasm"] = (a0, a1) => (Module["_ts_node_field_name_for_child_wasm"] = wasmExports["ts_node_field_name_for_child_wasm"])(a0, a1);
|
|
1899
|
-
Module["_ts_node_children_by_field_id_wasm"] = (a0, a1) => (Module["_ts_node_children_by_field_id_wasm"] = wasmExports["ts_node_children_by_field_id_wasm"])(a0, a1);
|
|
1900
|
-
Module["_ts_node_first_child_for_byte_wasm"] = a0 => (Module["_ts_node_first_child_for_byte_wasm"] = wasmExports["ts_node_first_child_for_byte_wasm"])(a0);
|
|
1901
|
-
Module["_ts_node_first_named_child_for_byte_wasm"] = a0 => (Module["_ts_node_first_named_child_for_byte_wasm"] = wasmExports["ts_node_first_named_child_for_byte_wasm"])(a0);
|
|
1902
|
-
Module["_ts_node_grammar_symbol_wasm"] = a0 => (Module["_ts_node_grammar_symbol_wasm"] = wasmExports["ts_node_grammar_symbol_wasm"])(a0);
|
|
1903
|
-
Module["_ts_node_child_count_wasm"] = a0 => (Module["_ts_node_child_count_wasm"] = wasmExports["ts_node_child_count_wasm"])(a0);
|
|
1904
|
-
Module["_ts_node_named_child_count_wasm"] = a0 => (Module["_ts_node_named_child_count_wasm"] = wasmExports["ts_node_named_child_count_wasm"])(a0);
|
|
1905
|
-
Module["_ts_node_child_wasm"] = (a0, a1) => (Module["_ts_node_child_wasm"] = wasmExports["ts_node_child_wasm"])(a0, a1);
|
|
1906
|
-
Module["_ts_node_named_child_wasm"] = (a0, a1) => (Module["_ts_node_named_child_wasm"] = wasmExports["ts_node_named_child_wasm"])(a0, a1);
|
|
1907
|
-
Module["_ts_node_child_by_field_id_wasm"] = (a0, a1) => (Module["_ts_node_child_by_field_id_wasm"] = wasmExports["ts_node_child_by_field_id_wasm"])(a0, a1);
|
|
1908
|
-
Module["_ts_node_next_sibling_wasm"] = a0 => (Module["_ts_node_next_sibling_wasm"] = wasmExports["ts_node_next_sibling_wasm"])(a0);
|
|
1909
|
-
Module["_ts_node_prev_sibling_wasm"] = a0 => (Module["_ts_node_prev_sibling_wasm"] = wasmExports["ts_node_prev_sibling_wasm"])(a0);
|
|
1910
|
-
Module["_ts_node_next_named_sibling_wasm"] = a0 => (Module["_ts_node_next_named_sibling_wasm"] = wasmExports["ts_node_next_named_sibling_wasm"])(a0);
|
|
1911
|
-
Module["_ts_node_prev_named_sibling_wasm"] = a0 => (Module["_ts_node_prev_named_sibling_wasm"] = wasmExports["ts_node_prev_named_sibling_wasm"])(a0);
|
|
1912
|
-
Module["_ts_node_descendant_count_wasm"] = a0 => (Module["_ts_node_descendant_count_wasm"] = wasmExports["ts_node_descendant_count_wasm"])(a0);
|
|
1913
|
-
Module["_ts_node_parent_wasm"] = a0 => (Module["_ts_node_parent_wasm"] = wasmExports["ts_node_parent_wasm"])(a0);
|
|
1914
|
-
Module["_ts_node_descendant_for_index_wasm"] = a0 => (Module["_ts_node_descendant_for_index_wasm"] = wasmExports["ts_node_descendant_for_index_wasm"])(a0);
|
|
1915
|
-
Module["_ts_node_named_descendant_for_index_wasm"] = a0 => (Module["_ts_node_named_descendant_for_index_wasm"] = wasmExports["ts_node_named_descendant_for_index_wasm"])(a0);
|
|
1916
|
-
Module["_ts_node_descendant_for_position_wasm"] = a0 => (Module["_ts_node_descendant_for_position_wasm"] = wasmExports["ts_node_descendant_for_position_wasm"])(a0);
|
|
1917
|
-
Module["_ts_node_named_descendant_for_position_wasm"] = a0 => (Module["_ts_node_named_descendant_for_position_wasm"] = wasmExports["ts_node_named_descendant_for_position_wasm"])(a0);
|
|
1918
|
-
Module["_ts_node_start_point_wasm"] = a0 => (Module["_ts_node_start_point_wasm"] = wasmExports["ts_node_start_point_wasm"])(a0);
|
|
1919
|
-
Module["_ts_node_end_point_wasm"] = a0 => (Module["_ts_node_end_point_wasm"] = wasmExports["ts_node_end_point_wasm"])(a0);
|
|
1920
|
-
Module["_ts_node_start_index_wasm"] = a0 => (Module["_ts_node_start_index_wasm"] = wasmExports["ts_node_start_index_wasm"])(a0);
|
|
1921
|
-
Module["_ts_node_end_index_wasm"] = a0 => (Module["_ts_node_end_index_wasm"] = wasmExports["ts_node_end_index_wasm"])(a0);
|
|
1922
|
-
Module["_ts_node_to_string_wasm"] = a0 => (Module["_ts_node_to_string_wasm"] = wasmExports["ts_node_to_string_wasm"])(a0);
|
|
1923
|
-
Module["_ts_node_children_wasm"] = a0 => (Module["_ts_node_children_wasm"] = wasmExports["ts_node_children_wasm"])(a0);
|
|
1924
|
-
Module["_ts_node_named_children_wasm"] = a0 => (Module["_ts_node_named_children_wasm"] = wasmExports["ts_node_named_children_wasm"])(a0);
|
|
1925
|
-
Module["_ts_node_descendants_of_type_wasm"] = (a0, a1, a2, a3, a4, a5, a6) => (Module["_ts_node_descendants_of_type_wasm"] = wasmExports["ts_node_descendants_of_type_wasm"])(a0, a1, a2, a3, a4, a5, a6);
|
|
1926
|
-
Module["_ts_node_is_named_wasm"] = a0 => (Module["_ts_node_is_named_wasm"] = wasmExports["ts_node_is_named_wasm"])(a0);
|
|
1927
|
-
Module["_ts_node_has_changes_wasm"] = a0 => (Module["_ts_node_has_changes_wasm"] = wasmExports["ts_node_has_changes_wasm"])(a0);
|
|
1928
|
-
Module["_ts_node_has_error_wasm"] = a0 => (Module["_ts_node_has_error_wasm"] = wasmExports["ts_node_has_error_wasm"])(a0);
|
|
1929
|
-
Module["_ts_node_is_error_wasm"] = a0 => (Module["_ts_node_is_error_wasm"] = wasmExports["ts_node_is_error_wasm"])(a0);
|
|
1930
|
-
Module["_ts_node_is_missing_wasm"] = a0 => (Module["_ts_node_is_missing_wasm"] = wasmExports["ts_node_is_missing_wasm"])(a0);
|
|
1931
|
-
Module["_ts_node_is_extra_wasm"] = a0 => (Module["_ts_node_is_extra_wasm"] = wasmExports["ts_node_is_extra_wasm"])(a0);
|
|
1932
|
-
Module["_ts_node_parse_state_wasm"] = a0 => (Module["_ts_node_parse_state_wasm"] = wasmExports["ts_node_parse_state_wasm"])(a0);
|
|
1933
|
-
Module["_ts_node_next_parse_state_wasm"] = a0 => (Module["_ts_node_next_parse_state_wasm"] = wasmExports["ts_node_next_parse_state_wasm"])(a0);
|
|
1934
|
-
Module["_ts_query_matches_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) => (Module["_ts_query_matches_wasm"] = wasmExports["ts_query_matches_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
|
|
1935
|
-
Module["_ts_query_captures_wasm"] = (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) => (Module["_ts_query_captures_wasm"] = wasmExports["ts_query_captures_wasm"])(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
|
|
1936
|
-
Module["_iswalpha"] = a0 => (Module["_iswalpha"] = wasmExports["iswalpha"])(a0);
|
|
1937
|
-
Module["_iswblank"] = a0 => (Module["_iswblank"] = wasmExports["iswblank"])(a0);
|
|
1938
|
-
Module["_iswdigit"] = a0 => (Module["_iswdigit"] = wasmExports["iswdigit"])(a0);
|
|
1939
|
-
Module["_iswlower"] = a0 => (Module["_iswlower"] = wasmExports["iswlower"])(a0);
|
|
1940
|
-
Module["_iswupper"] = a0 => (Module["_iswupper"] = wasmExports["iswupper"])(a0);
|
|
1941
|
-
Module["_iswxdigit"] = a0 => (Module["_iswxdigit"] = wasmExports["iswxdigit"])(a0);
|
|
1942
|
-
Module["_memchr"] = (a0, a1, a2) => (Module["_memchr"] = wasmExports["memchr"])(a0, a1, a2);
|
|
1943
|
-
Module["_strlen"] = a0 => (Module["_strlen"] = wasmExports["strlen"])(a0);
|
|
1944
|
-
Module["_strcmp"] = (a0, a1) => (Module["_strcmp"] = wasmExports["strcmp"])(a0, a1);
|
|
1945
|
-
Module["_strncat"] = (a0, a1, a2) => (Module["_strncat"] = wasmExports["strncat"])(a0, a1, a2);
|
|
1946
|
-
Module["_strncpy"] = (a0, a1, a2) => (Module["_strncpy"] = wasmExports["strncpy"])(a0, a1, a2);
|
|
1947
|
-
Module["_towlower"] = a0 => (Module["_towlower"] = wasmExports["towlower"])(a0);
|
|
1948
|
-
Module["_towupper"] = a0 => (Module["_towupper"] = wasmExports["towupper"])(a0);
|
|
1949
|
-
var _setThrew = (a0, a1) => (_setThrew = wasmExports["setThrew"])(a0, a1);
|
|
1950
|
-
var __emscripten_stack_restore = a0 => (__emscripten_stack_restore = wasmExports["_emscripten_stack_restore"])(a0);
|
|
1951
|
-
var __emscripten_stack_alloc = a0 => (__emscripten_stack_alloc = wasmExports["_emscripten_stack_alloc"])(a0);
|
|
1952
|
-
var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports["emscripten_stack_get_current"])();
|
|
1953
|
-
Module["dynCall_jiji"] = (a0, a1, a2, a3, a4) => (Module["dynCall_jiji"] = wasmExports["dynCall_jiji"])(a0, a1, a2, a3, a4);
|
|
1954
|
-
Module["_orig$ts_parser_timeout_micros"] = a0 => (Module["_orig$ts_parser_timeout_micros"] = wasmExports["orig$ts_parser_timeout_micros"])(a0);
|
|
1955
|
-
Module["_orig$ts_parser_set_timeout_micros"] = (a0, a1) => (Module["_orig$ts_parser_set_timeout_micros"] = wasmExports["orig$ts_parser_set_timeout_micros"])(a0, a1);
|
|
1956
|
-
// include: postamble.js
|
|
1957
|
-
// === Auto-generated postamble setup entry stuff ===
|
|
1958
|
-
Module["AsciiToString"] = AsciiToString;
|
|
1959
|
-
Module["stringToUTF16"] = stringToUTF16;
|
|
1960
|
-
var calledRun;
|
|
1961
|
-
dependenciesFulfilled = function runCaller() {
|
|
1962
|
-
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
|
|
1963
|
-
if (!calledRun) run();
|
|
1964
|
-
if (!calledRun) dependenciesFulfilled = runCaller;
|
|
1965
|
-
};
|
|
1966
|
-
// try this again later, after new deps are fulfilled
|
|
1967
|
-
function callMain(args = []) {
|
|
1968
|
-
var entryFunction = resolveGlobalSymbol("main").sym;
|
|
1969
|
-
// Main modules can't tell if they have main() at compile time, since it may
|
|
1970
|
-
// arrive from a dynamic library.
|
|
1971
|
-
if (!entryFunction) return;
|
|
1972
|
-
args.unshift(thisProgram);
|
|
1973
|
-
var argc = args.length;
|
|
1974
|
-
var argv = stackAlloc((argc + 1) * 4);
|
|
1975
|
-
var argv_ptr = argv;
|
|
1976
|
-
args.forEach(arg => {
|
|
1977
|
-
LE_HEAP_STORE_U32((argv_ptr >> 2) * 4, stringToUTF8OnStack(arg));
|
|
1978
|
-
argv_ptr += 4;
|
|
1979
|
-
});
|
|
1980
|
-
LE_HEAP_STORE_U32((argv_ptr >> 2) * 4, 0);
|
|
1981
|
-
try {
|
|
1982
|
-
var ret = entryFunction(argc, argv);
|
|
1983
|
-
// if we're not running an evented main loop, it's time to exit
|
|
1984
|
-
exitJS(ret, /* implicit = */true);
|
|
1985
|
-
return ret;
|
|
1986
|
-
} catch (e) {
|
|
1987
|
-
return handleException(e);
|
|
1988
|
-
}
|
|
1989
|
-
}
|
|
1990
|
-
function run(args = arguments_) {
|
|
1991
|
-
if (runDependencies > 0) {
|
|
1992
|
-
return;
|
|
1993
|
-
}
|
|
1994
|
-
preRun();
|
|
1995
|
-
// a preRun added a dependency, run will be called later
|
|
1996
|
-
if (runDependencies > 0) {
|
|
1997
|
-
return;
|
|
1998
|
-
}
|
|
1999
|
-
function doRun() {
|
|
2000
|
-
// run may have just been called through dependencies being fulfilled just in this very frame,
|
|
2001
|
-
// or while the async setStatus time below was happening
|
|
2002
|
-
if (calledRun) return;
|
|
2003
|
-
calledRun = true;
|
|
2004
|
-
Module["calledRun"] = true;
|
|
2005
|
-
if (ABORT) return;
|
|
2006
|
-
initRuntime();
|
|
2007
|
-
preMain();
|
|
2008
|
-
Module["onRuntimeInitialized"]?.();
|
|
2009
|
-
if (shouldRunNow) callMain(args);
|
|
2010
|
-
postRun();
|
|
2011
|
-
}
|
|
2012
|
-
if (Module["setStatus"]) {
|
|
2013
|
-
Module["setStatus"]("Running...");
|
|
2014
|
-
setTimeout(function () {
|
|
2015
|
-
setTimeout(function () {
|
|
2016
|
-
Module["setStatus"]("");
|
|
2017
|
-
}, 1);
|
|
2018
|
-
doRun();
|
|
2019
|
-
}, 1);
|
|
2020
|
-
} else {
|
|
2021
|
-
doRun();
|
|
2022
|
-
}
|
|
2023
|
-
}
|
|
2024
|
-
if (Module["preInit"]) {
|
|
2025
|
-
if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];
|
|
2026
|
-
while (Module["preInit"].length > 0) {
|
|
2027
|
-
Module["preInit"].pop()();
|
|
2028
|
-
}
|
|
2029
|
-
}
|
|
2030
|
-
// shouldRunNow refers to calling main(), not run().
|
|
2031
|
-
var shouldRunNow = true;
|
|
2032
|
-
if (Module["noInitialRun"]) shouldRunNow = false;
|
|
2033
|
-
run();
|
|
2034
|
-
// end include: postamble.js
|
|
2035
|
-
// include: /src/lib/binding_web/binding.js
|
|
2036
|
-
/* eslint-disable-next-line spaced-comment */ /// <reference types="emscripten" />
|
|
2037
|
-
/* eslint-disable-next-line spaced-comment */ /// <reference path="tree-sitter-web.d.ts"/>
|
|
2038
|
-
const C = Module;
|
|
2039
|
-
const INTERNAL = {};
|
|
2040
|
-
const SIZE_OF_INT = 4;
|
|
2041
|
-
const SIZE_OF_CURSOR = 4 * SIZE_OF_INT;
|
|
2042
|
-
const SIZE_OF_NODE = 5 * SIZE_OF_INT;
|
|
2043
|
-
const SIZE_OF_POINT = 2 * SIZE_OF_INT;
|
|
2044
|
-
const SIZE_OF_RANGE = 2 * SIZE_OF_INT + 2 * SIZE_OF_POINT;
|
|
2045
|
-
const ZERO_POINT = {
|
|
2046
|
-
row: 0,
|
|
2047
|
-
column: 0
|
|
2048
|
-
};
|
|
2049
|
-
const QUERY_WORD_REGEX = /[\w-.]*/g;
|
|
2050
|
-
const PREDICATE_STEP_TYPE_CAPTURE = 1;
|
|
2051
|
-
const PREDICATE_STEP_TYPE_STRING = 2;
|
|
2052
|
-
const LANGUAGE_FUNCTION_REGEX = /^_?tree_sitter_\w+/;
|
|
2053
|
-
let VERSION;
|
|
2054
|
-
let MIN_COMPATIBLE_VERSION;
|
|
2055
|
-
let TRANSFER_BUFFER;
|
|
2056
|
-
let currentParseCallback;
|
|
2057
|
-
// eslint-disable-next-line no-unused-vars
|
|
2058
|
-
let currentLogCallback;
|
|
2059
|
-
// eslint-disable-next-line no-unused-vars
|
|
2060
|
-
class ParserImpl {
|
|
2061
|
-
static init() {
|
|
2062
|
-
TRANSFER_BUFFER = C._ts_init();
|
|
2063
|
-
VERSION = getValue(TRANSFER_BUFFER, "i32");
|
|
2064
|
-
MIN_COMPATIBLE_VERSION = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2065
|
-
}
|
|
2066
|
-
initialize() {
|
|
2067
|
-
C._ts_parser_new_wasm();
|
|
2068
|
-
this[0] = getValue(TRANSFER_BUFFER, "i32");
|
|
2069
|
-
this[1] = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2070
|
-
}
|
|
2071
|
-
delete() {
|
|
2072
|
-
C._ts_parser_delete(this[0]);
|
|
2073
|
-
C._free(this[1]);
|
|
2074
|
-
this[0] = 0;
|
|
2075
|
-
this[1] = 0;
|
|
2076
|
-
}
|
|
2077
|
-
setLanguage(language) {
|
|
2078
|
-
let address;
|
|
2079
|
-
if (!language) {
|
|
2080
|
-
address = 0;
|
|
2081
|
-
language = null;
|
|
2082
|
-
} else if (language.constructor === Language) {
|
|
2083
|
-
address = language[0];
|
|
2084
|
-
const version = C._ts_language_version(address);
|
|
2085
|
-
if (version < MIN_COMPATIBLE_VERSION || VERSION < version) {
|
|
2086
|
-
throw new Error(`Incompatible language version ${version}. ` + `Compatibility range ${MIN_COMPATIBLE_VERSION} through ${VERSION}.`);
|
|
2087
|
-
}
|
|
2088
|
-
} else {
|
|
2089
|
-
throw new Error("Argument must be a Language");
|
|
2090
|
-
}
|
|
2091
|
-
this.language = language;
|
|
2092
|
-
C._ts_parser_set_language(this[0], address);
|
|
2093
|
-
return this;
|
|
2094
|
-
}
|
|
2095
|
-
getLanguage() {
|
|
2096
|
-
return this.language;
|
|
2097
|
-
}
|
|
2098
|
-
parse(callback, oldTree, options) {
|
|
2099
|
-
if (typeof callback === "string") {
|
|
2100
|
-
currentParseCallback = (index, _) => callback.slice(index);
|
|
2101
|
-
} else if (typeof callback === "function") {
|
|
2102
|
-
currentParseCallback = callback;
|
|
2103
|
-
} else {
|
|
2104
|
-
throw new Error("Argument must be a string or a function");
|
|
2105
|
-
}
|
|
2106
|
-
if (this.logCallback) {
|
|
2107
|
-
currentLogCallback = this.logCallback;
|
|
2108
|
-
C._ts_parser_enable_logger_wasm(this[0], 1);
|
|
2109
|
-
} else {
|
|
2110
|
-
currentLogCallback = null;
|
|
2111
|
-
C._ts_parser_enable_logger_wasm(this[0], 0);
|
|
2112
|
-
}
|
|
2113
|
-
let rangeCount = 0;
|
|
2114
|
-
let rangeAddress = 0;
|
|
2115
|
-
if (options?.includedRanges) {
|
|
2116
|
-
rangeCount = options.includedRanges.length;
|
|
2117
|
-
rangeAddress = C._calloc(rangeCount, SIZE_OF_RANGE);
|
|
2118
|
-
let address = rangeAddress;
|
|
2119
|
-
for (let i = 0; i < rangeCount; i++) {
|
|
2120
|
-
marshalRange(address, options.includedRanges[i]);
|
|
2121
|
-
address += SIZE_OF_RANGE;
|
|
2122
|
-
}
|
|
2123
|
-
}
|
|
2124
|
-
const treeAddress = C._ts_parser_parse_wasm(this[0], this[1], oldTree ? oldTree[0] : 0, rangeAddress, rangeCount);
|
|
2125
|
-
if (!treeAddress) {
|
|
2126
|
-
currentParseCallback = null;
|
|
2127
|
-
currentLogCallback = null;
|
|
2128
|
-
throw new Error("Parsing failed");
|
|
2129
|
-
}
|
|
2130
|
-
const result = new Tree(INTERNAL, treeAddress, this.language, currentParseCallback);
|
|
2131
|
-
currentParseCallback = null;
|
|
2132
|
-
currentLogCallback = null;
|
|
2133
|
-
return result;
|
|
2134
|
-
}
|
|
2135
|
-
reset() {
|
|
2136
|
-
C._ts_parser_reset(this[0]);
|
|
2137
|
-
}
|
|
2138
|
-
getIncludedRanges() {
|
|
2139
|
-
C._ts_parser_included_ranges_wasm(this[0]);
|
|
2140
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2141
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2142
|
-
const result = new Array(count);
|
|
2143
|
-
if (count > 0) {
|
|
2144
|
-
let address = buffer;
|
|
2145
|
-
for (let i = 0; i < count; i++) {
|
|
2146
|
-
result[i] = unmarshalRange(address);
|
|
2147
|
-
address += SIZE_OF_RANGE;
|
|
2148
|
-
}
|
|
2149
|
-
C._free(buffer);
|
|
2150
|
-
}
|
|
2151
|
-
return result;
|
|
2152
|
-
}
|
|
2153
|
-
getTimeoutMicros() {
|
|
2154
|
-
return C._ts_parser_timeout_micros(this[0]);
|
|
2155
|
-
}
|
|
2156
|
-
setTimeoutMicros(timeout) {
|
|
2157
|
-
C._ts_parser_set_timeout_micros(this[0], timeout);
|
|
2158
|
-
}
|
|
2159
|
-
setLogger(callback) {
|
|
2160
|
-
if (!callback) {
|
|
2161
|
-
callback = null;
|
|
2162
|
-
} else if (typeof callback !== "function") {
|
|
2163
|
-
throw new Error("Logger callback must be a function");
|
|
2164
|
-
}
|
|
2165
|
-
this.logCallback = callback;
|
|
2166
|
-
return this;
|
|
2167
|
-
}
|
|
2168
|
-
getLogger() {
|
|
2169
|
-
return this.logCallback;
|
|
2170
|
-
}
|
|
2171
|
-
}
|
|
2172
|
-
class Tree {
|
|
2173
|
-
constructor(internal, address, language, textCallback) {
|
|
2174
|
-
assertInternal(internal);
|
|
2175
|
-
this[0] = address;
|
|
2176
|
-
this.language = language;
|
|
2177
|
-
this.textCallback = textCallback;
|
|
2178
|
-
}
|
|
2179
|
-
copy() {
|
|
2180
|
-
const address = C._ts_tree_copy(this[0]);
|
|
2181
|
-
return new Tree(INTERNAL, address, this.language, this.textCallback);
|
|
2182
|
-
}
|
|
2183
|
-
delete() {
|
|
2184
|
-
C._ts_tree_delete(this[0]);
|
|
2185
|
-
this[0] = 0;
|
|
2186
|
-
}
|
|
2187
|
-
edit(edit) {
|
|
2188
|
-
marshalEdit(edit);
|
|
2189
|
-
C._ts_tree_edit_wasm(this[0]);
|
|
2190
|
-
}
|
|
2191
|
-
get rootNode() {
|
|
2192
|
-
C._ts_tree_root_node_wasm(this[0]);
|
|
2193
|
-
return unmarshalNode(this);
|
|
2194
|
-
}
|
|
2195
|
-
rootNodeWithOffset(offsetBytes, offsetExtent) {
|
|
2196
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2197
|
-
setValue(address, offsetBytes, "i32");
|
|
2198
|
-
marshalPoint(address + SIZE_OF_INT, offsetExtent);
|
|
2199
|
-
C._ts_tree_root_node_with_offset_wasm(this[0]);
|
|
2200
|
-
return unmarshalNode(this);
|
|
2201
|
-
}
|
|
2202
|
-
getLanguage() {
|
|
2203
|
-
return this.language;
|
|
2204
|
-
}
|
|
2205
|
-
walk() {
|
|
2206
|
-
return this.rootNode.walk();
|
|
2207
|
-
}
|
|
2208
|
-
getChangedRanges(other) {
|
|
2209
|
-
if (other.constructor !== Tree) {
|
|
2210
|
-
throw new TypeError("Argument must be a Tree");
|
|
2211
|
-
}
|
|
2212
|
-
C._ts_tree_get_changed_ranges_wasm(this[0], other[0]);
|
|
2213
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2214
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2215
|
-
const result = new Array(count);
|
|
2216
|
-
if (count > 0) {
|
|
2217
|
-
let address = buffer;
|
|
2218
|
-
for (let i = 0; i < count; i++) {
|
|
2219
|
-
result[i] = unmarshalRange(address);
|
|
2220
|
-
address += SIZE_OF_RANGE;
|
|
2221
|
-
}
|
|
2222
|
-
C._free(buffer);
|
|
2223
|
-
}
|
|
2224
|
-
return result;
|
|
2225
|
-
}
|
|
2226
|
-
getIncludedRanges() {
|
|
2227
|
-
C._ts_tree_included_ranges_wasm(this[0]);
|
|
2228
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2229
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2230
|
-
const result = new Array(count);
|
|
2231
|
-
if (count > 0) {
|
|
2232
|
-
let address = buffer;
|
|
2233
|
-
for (let i = 0; i < count; i++) {
|
|
2234
|
-
result[i] = unmarshalRange(address);
|
|
2235
|
-
address += SIZE_OF_RANGE;
|
|
2236
|
-
}
|
|
2237
|
-
C._free(buffer);
|
|
2238
|
-
}
|
|
2239
|
-
return result;
|
|
2240
|
-
}
|
|
2241
|
-
}
|
|
2242
|
-
class Node {
|
|
2243
|
-
constructor(internal, tree) {
|
|
2244
|
-
assertInternal(internal);
|
|
2245
|
-
this.tree = tree;
|
|
2246
|
-
}
|
|
2247
|
-
get typeId() {
|
|
2248
|
-
marshalNode(this);
|
|
2249
|
-
return C._ts_node_symbol_wasm(this.tree[0]);
|
|
2250
|
-
}
|
|
2251
|
-
get grammarId() {
|
|
2252
|
-
marshalNode(this);
|
|
2253
|
-
return C._ts_node_grammar_symbol_wasm(this.tree[0]);
|
|
2254
|
-
}
|
|
2255
|
-
get type() {
|
|
2256
|
-
return this.tree.language.types[this.typeId] || "ERROR";
|
|
2257
|
-
}
|
|
2258
|
-
get grammarType() {
|
|
2259
|
-
return this.tree.language.types[this.grammarId] || "ERROR";
|
|
2260
|
-
}
|
|
2261
|
-
get endPosition() {
|
|
2262
|
-
marshalNode(this);
|
|
2263
|
-
C._ts_node_end_point_wasm(this.tree[0]);
|
|
2264
|
-
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2265
|
-
}
|
|
2266
|
-
get endIndex() {
|
|
2267
|
-
marshalNode(this);
|
|
2268
|
-
return C._ts_node_end_index_wasm(this.tree[0]);
|
|
2269
|
-
}
|
|
2270
|
-
get text() {
|
|
2271
|
-
return getText(this.tree, this.startIndex, this.endIndex);
|
|
2272
|
-
}
|
|
2273
|
-
get parseState() {
|
|
2274
|
-
marshalNode(this);
|
|
2275
|
-
return C._ts_node_parse_state_wasm(this.tree[0]);
|
|
2276
|
-
}
|
|
2277
|
-
get nextParseState() {
|
|
2278
|
-
marshalNode(this);
|
|
2279
|
-
return C._ts_node_next_parse_state_wasm(this.tree[0]);
|
|
2280
|
-
}
|
|
2281
|
-
get isNamed() {
|
|
2282
|
-
marshalNode(this);
|
|
2283
|
-
return C._ts_node_is_named_wasm(this.tree[0]) === 1;
|
|
2284
|
-
}
|
|
2285
|
-
get hasError() {
|
|
2286
|
-
marshalNode(this);
|
|
2287
|
-
return C._ts_node_has_error_wasm(this.tree[0]) === 1;
|
|
2288
|
-
}
|
|
2289
|
-
get hasChanges() {
|
|
2290
|
-
marshalNode(this);
|
|
2291
|
-
return C._ts_node_has_changes_wasm(this.tree[0]) === 1;
|
|
2292
|
-
}
|
|
2293
|
-
get isError() {
|
|
2294
|
-
marshalNode(this);
|
|
2295
|
-
return C._ts_node_is_error_wasm(this.tree[0]) === 1;
|
|
2296
|
-
}
|
|
2297
|
-
get isMissing() {
|
|
2298
|
-
marshalNode(this);
|
|
2299
|
-
return C._ts_node_is_missing_wasm(this.tree[0]) === 1;
|
|
2300
|
-
}
|
|
2301
|
-
get isExtra() {
|
|
2302
|
-
marshalNode(this);
|
|
2303
|
-
return C._ts_node_is_extra_wasm(this.tree[0]) === 1;
|
|
2304
|
-
}
|
|
2305
|
-
equals(other) {
|
|
2306
|
-
return this.id === other.id;
|
|
2307
|
-
}
|
|
2308
|
-
child(index) {
|
|
2309
|
-
marshalNode(this);
|
|
2310
|
-
C._ts_node_child_wasm(this.tree[0], index);
|
|
2311
|
-
return unmarshalNode(this.tree);
|
|
2312
|
-
}
|
|
2313
|
-
namedChild(index) {
|
|
2314
|
-
marshalNode(this);
|
|
2315
|
-
C._ts_node_named_child_wasm(this.tree[0], index);
|
|
2316
|
-
return unmarshalNode(this.tree);
|
|
2317
|
-
}
|
|
2318
|
-
childForFieldId(fieldId) {
|
|
2319
|
-
marshalNode(this);
|
|
2320
|
-
C._ts_node_child_by_field_id_wasm(this.tree[0], fieldId);
|
|
2321
|
-
return unmarshalNode(this.tree);
|
|
2322
|
-
}
|
|
2323
|
-
childForFieldName(fieldName) {
|
|
2324
|
-
const fieldId = this.tree.language.fields.indexOf(fieldName);
|
|
2325
|
-
if (fieldId !== -1) return this.childForFieldId(fieldId);
|
|
2326
|
-
return null;
|
|
2327
|
-
}
|
|
2328
|
-
fieldNameForChild(index) {
|
|
2329
|
-
marshalNode(this);
|
|
2330
|
-
const address = C._ts_node_field_name_for_child_wasm(this.tree[0], index);
|
|
2331
|
-
if (!address) {
|
|
2332
|
-
return null;
|
|
2333
|
-
}
|
|
2334
|
-
const result = AsciiToString(address);
|
|
2335
|
-
// must not free, the string memory is owned by the language
|
|
2336
|
-
return result;
|
|
2337
|
-
}
|
|
2338
|
-
childrenForFieldName(fieldName) {
|
|
2339
|
-
const fieldId = this.tree.language.fields.indexOf(fieldName);
|
|
2340
|
-
if (fieldId !== -1 && fieldId !== 0) return this.childrenForFieldId(fieldId);
|
|
2341
|
-
return [];
|
|
2342
|
-
}
|
|
2343
|
-
childrenForFieldId(fieldId) {
|
|
2344
|
-
marshalNode(this);
|
|
2345
|
-
C._ts_node_children_by_field_id_wasm(this.tree[0], fieldId);
|
|
2346
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2347
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2348
|
-
const result = new Array(count);
|
|
2349
|
-
if (count > 0) {
|
|
2350
|
-
let address = buffer;
|
|
2351
|
-
for (let i = 0; i < count; i++) {
|
|
2352
|
-
result[i] = unmarshalNode(this.tree, address);
|
|
2353
|
-
address += SIZE_OF_NODE;
|
|
2354
|
-
}
|
|
2355
|
-
C._free(buffer);
|
|
2356
|
-
}
|
|
2357
|
-
return result;
|
|
2358
|
-
}
|
|
2359
|
-
firstChildForIndex(index) {
|
|
2360
|
-
marshalNode(this);
|
|
2361
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2362
|
-
setValue(address, index, "i32");
|
|
2363
|
-
C._ts_node_first_child_for_byte_wasm(this.tree[0]);
|
|
2364
|
-
return unmarshalNode(this.tree);
|
|
2365
|
-
}
|
|
2366
|
-
firstNamedChildForIndex(index) {
|
|
2367
|
-
marshalNode(this);
|
|
2368
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2369
|
-
setValue(address, index, "i32");
|
|
2370
|
-
C._ts_node_first_named_child_for_byte_wasm(this.tree[0]);
|
|
2371
|
-
return unmarshalNode(this.tree);
|
|
2372
|
-
}
|
|
2373
|
-
get childCount() {
|
|
2374
|
-
marshalNode(this);
|
|
2375
|
-
return C._ts_node_child_count_wasm(this.tree[0]);
|
|
2376
|
-
}
|
|
2377
|
-
get namedChildCount() {
|
|
2378
|
-
marshalNode(this);
|
|
2379
|
-
return C._ts_node_named_child_count_wasm(this.tree[0]);
|
|
2380
|
-
}
|
|
2381
|
-
get firstChild() {
|
|
2382
|
-
return this.child(0);
|
|
2383
|
-
}
|
|
2384
|
-
get firstNamedChild() {
|
|
2385
|
-
return this.namedChild(0);
|
|
2386
|
-
}
|
|
2387
|
-
get lastChild() {
|
|
2388
|
-
return this.child(this.childCount - 1);
|
|
2389
|
-
}
|
|
2390
|
-
get lastNamedChild() {
|
|
2391
|
-
return this.namedChild(this.namedChildCount - 1);
|
|
2392
|
-
}
|
|
2393
|
-
get children() {
|
|
2394
|
-
if (!this._children) {
|
|
2395
|
-
marshalNode(this);
|
|
2396
|
-
C._ts_node_children_wasm(this.tree[0]);
|
|
2397
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2398
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2399
|
-
this._children = new Array(count);
|
|
2400
|
-
if (count > 0) {
|
|
2401
|
-
let address = buffer;
|
|
2402
|
-
for (let i = 0; i < count; i++) {
|
|
2403
|
-
this._children[i] = unmarshalNode(this.tree, address);
|
|
2404
|
-
address += SIZE_OF_NODE;
|
|
2405
|
-
}
|
|
2406
|
-
C._free(buffer);
|
|
2407
|
-
}
|
|
2408
|
-
}
|
|
2409
|
-
return this._children;
|
|
2410
|
-
}
|
|
2411
|
-
get namedChildren() {
|
|
2412
|
-
if (!this._namedChildren) {
|
|
2413
|
-
marshalNode(this);
|
|
2414
|
-
C._ts_node_named_children_wasm(this.tree[0]);
|
|
2415
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
2416
|
-
const buffer = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2417
|
-
this._namedChildren = new Array(count);
|
|
2418
|
-
if (count > 0) {
|
|
2419
|
-
let address = buffer;
|
|
2420
|
-
for (let i = 0; i < count; i++) {
|
|
2421
|
-
this._namedChildren[i] = unmarshalNode(this.tree, address);
|
|
2422
|
-
address += SIZE_OF_NODE;
|
|
2423
|
-
}
|
|
2424
|
-
C._free(buffer);
|
|
2425
|
-
}
|
|
2426
|
-
}
|
|
2427
|
-
return this._namedChildren;
|
|
2428
|
-
}
|
|
2429
|
-
descendantsOfType(types, startPosition, endPosition) {
|
|
2430
|
-
if (!Array.isArray(types)) types = [types];
|
|
2431
|
-
if (!startPosition) startPosition = ZERO_POINT;
|
|
2432
|
-
if (!endPosition) endPosition = ZERO_POINT;
|
|
2433
|
-
// Convert the type strings to numeric type symbols.
|
|
2434
|
-
const symbols = [];
|
|
2435
|
-
const typesBySymbol = this.tree.language.types;
|
|
2436
|
-
for (let i = 0, n = typesBySymbol.length; i < n; i++) {
|
|
2437
|
-
if (types.includes(typesBySymbol[i])) {
|
|
2438
|
-
symbols.push(i);
|
|
2439
|
-
}
|
|
2440
|
-
}
|
|
2441
|
-
// Copy the array of symbols to the WASM heap.
|
|
2442
|
-
const symbolsAddress = C._malloc(SIZE_OF_INT * symbols.length);
|
|
2443
|
-
for (let i = 0, n = symbols.length; i < n; i++) {
|
|
2444
|
-
setValue(symbolsAddress + i * SIZE_OF_INT, symbols[i], "i32");
|
|
2445
|
-
}
|
|
2446
|
-
// Call the C API to compute the descendants.
|
|
2447
|
-
marshalNode(this);
|
|
2448
|
-
C._ts_node_descendants_of_type_wasm(this.tree[0], symbolsAddress, symbols.length, startPosition.row, startPosition.column, endPosition.row, endPosition.column);
|
|
2449
|
-
// Instantiate the nodes based on the data returned.
|
|
2450
|
-
const descendantCount = getValue(TRANSFER_BUFFER, "i32");
|
|
2451
|
-
const descendantAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2452
|
-
const result = new Array(descendantCount);
|
|
2453
|
-
if (descendantCount > 0) {
|
|
2454
|
-
let address = descendantAddress;
|
|
2455
|
-
for (let i = 0; i < descendantCount; i++) {
|
|
2456
|
-
result[i] = unmarshalNode(this.tree, address);
|
|
2457
|
-
address += SIZE_OF_NODE;
|
|
2458
|
-
}
|
|
2459
|
-
}
|
|
2460
|
-
// Free the intermediate buffers
|
|
2461
|
-
C._free(descendantAddress);
|
|
2462
|
-
C._free(symbolsAddress);
|
|
2463
|
-
return result;
|
|
2464
|
-
}
|
|
2465
|
-
get nextSibling() {
|
|
2466
|
-
marshalNode(this);
|
|
2467
|
-
C._ts_node_next_sibling_wasm(this.tree[0]);
|
|
2468
|
-
return unmarshalNode(this.tree);
|
|
2469
|
-
}
|
|
2470
|
-
get previousSibling() {
|
|
2471
|
-
marshalNode(this);
|
|
2472
|
-
C._ts_node_prev_sibling_wasm(this.tree[0]);
|
|
2473
|
-
return unmarshalNode(this.tree);
|
|
2474
|
-
}
|
|
2475
|
-
get nextNamedSibling() {
|
|
2476
|
-
marshalNode(this);
|
|
2477
|
-
C._ts_node_next_named_sibling_wasm(this.tree[0]);
|
|
2478
|
-
return unmarshalNode(this.tree);
|
|
2479
|
-
}
|
|
2480
|
-
get previousNamedSibling() {
|
|
2481
|
-
marshalNode(this);
|
|
2482
|
-
C._ts_node_prev_named_sibling_wasm(this.tree[0]);
|
|
2483
|
-
return unmarshalNode(this.tree);
|
|
2484
|
-
}
|
|
2485
|
-
get descendantCount() {
|
|
2486
|
-
marshalNode(this);
|
|
2487
|
-
return C._ts_node_descendant_count_wasm(this.tree[0]);
|
|
2488
|
-
}
|
|
2489
|
-
get parent() {
|
|
2490
|
-
marshalNode(this);
|
|
2491
|
-
C._ts_node_parent_wasm(this.tree[0]);
|
|
2492
|
-
return unmarshalNode(this.tree);
|
|
2493
|
-
}
|
|
2494
|
-
descendantForIndex(start, end = start) {
|
|
2495
|
-
if (typeof start !== "number" || typeof end !== "number") {
|
|
2496
|
-
throw new Error("Arguments must be numbers");
|
|
2497
|
-
}
|
|
2498
|
-
marshalNode(this);
|
|
2499
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2500
|
-
setValue(address, start, "i32");
|
|
2501
|
-
setValue(address + SIZE_OF_INT, end, "i32");
|
|
2502
|
-
C._ts_node_descendant_for_index_wasm(this.tree[0]);
|
|
2503
|
-
return unmarshalNode(this.tree);
|
|
2504
|
-
}
|
|
2505
|
-
namedDescendantForIndex(start, end = start) {
|
|
2506
|
-
if (typeof start !== "number" || typeof end !== "number") {
|
|
2507
|
-
throw new Error("Arguments must be numbers");
|
|
2508
|
-
}
|
|
2509
|
-
marshalNode(this);
|
|
2510
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2511
|
-
setValue(address, start, "i32");
|
|
2512
|
-
setValue(address + SIZE_OF_INT, end, "i32");
|
|
2513
|
-
C._ts_node_named_descendant_for_index_wasm(this.tree[0]);
|
|
2514
|
-
return unmarshalNode(this.tree);
|
|
2515
|
-
}
|
|
2516
|
-
descendantForPosition(start, end = start) {
|
|
2517
|
-
if (!isPoint(start) || !isPoint(end)) {
|
|
2518
|
-
throw new Error("Arguments must be {row, column} objects");
|
|
2519
|
-
}
|
|
2520
|
-
marshalNode(this);
|
|
2521
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2522
|
-
marshalPoint(address, start);
|
|
2523
|
-
marshalPoint(address + SIZE_OF_POINT, end);
|
|
2524
|
-
C._ts_node_descendant_for_position_wasm(this.tree[0]);
|
|
2525
|
-
return unmarshalNode(this.tree);
|
|
2526
|
-
}
|
|
2527
|
-
namedDescendantForPosition(start, end = start) {
|
|
2528
|
-
if (!isPoint(start) || !isPoint(end)) {
|
|
2529
|
-
throw new Error("Arguments must be {row, column} objects");
|
|
2530
|
-
}
|
|
2531
|
-
marshalNode(this);
|
|
2532
|
-
const address = TRANSFER_BUFFER + SIZE_OF_NODE;
|
|
2533
|
-
marshalPoint(address, start);
|
|
2534
|
-
marshalPoint(address + SIZE_OF_POINT, end);
|
|
2535
|
-
C._ts_node_named_descendant_for_position_wasm(this.tree[0]);
|
|
2536
|
-
return unmarshalNode(this.tree);
|
|
2537
|
-
}
|
|
2538
|
-
walk() {
|
|
2539
|
-
marshalNode(this);
|
|
2540
|
-
C._ts_tree_cursor_new_wasm(this.tree[0]);
|
|
2541
|
-
return new TreeCursor(INTERNAL, this.tree);
|
|
2542
|
-
}
|
|
2543
|
-
toString() {
|
|
2544
|
-
marshalNode(this);
|
|
2545
|
-
const address = C._ts_node_to_string_wasm(this.tree[0]);
|
|
2546
|
-
const result = AsciiToString(address);
|
|
2547
|
-
C._free(address);
|
|
2548
|
-
return result;
|
|
2549
|
-
}
|
|
2550
|
-
}
|
|
2551
|
-
class TreeCursor {
|
|
2552
|
-
constructor(internal, tree) {
|
|
2553
|
-
assertInternal(internal);
|
|
2554
|
-
this.tree = tree;
|
|
2555
|
-
unmarshalTreeCursor(this);
|
|
2556
|
-
}
|
|
2557
|
-
delete() {
|
|
2558
|
-
marshalTreeCursor(this);
|
|
2559
|
-
C._ts_tree_cursor_delete_wasm(this.tree[0]);
|
|
2560
|
-
this[0] = this[1] = this[2] = 0;
|
|
2561
|
-
}
|
|
2562
|
-
reset(node) {
|
|
2563
|
-
marshalNode(node);
|
|
2564
|
-
marshalTreeCursor(this, TRANSFER_BUFFER + SIZE_OF_NODE);
|
|
2565
|
-
C._ts_tree_cursor_reset_wasm(this.tree[0]);
|
|
2566
|
-
unmarshalTreeCursor(this);
|
|
2567
|
-
}
|
|
2568
|
-
resetTo(cursor) {
|
|
2569
|
-
marshalTreeCursor(this, TRANSFER_BUFFER);
|
|
2570
|
-
marshalTreeCursor(cursor, TRANSFER_BUFFER + SIZE_OF_CURSOR);
|
|
2571
|
-
C._ts_tree_cursor_reset_to_wasm(this.tree[0], cursor.tree[0]);
|
|
2572
|
-
unmarshalTreeCursor(this);
|
|
2573
|
-
}
|
|
2574
|
-
get nodeType() {
|
|
2575
|
-
return this.tree.language.types[this.nodeTypeId] || "ERROR";
|
|
2576
|
-
}
|
|
2577
|
-
get nodeTypeId() {
|
|
2578
|
-
marshalTreeCursor(this);
|
|
2579
|
-
return C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0]);
|
|
2580
|
-
}
|
|
2581
|
-
get nodeStateId() {
|
|
2582
|
-
marshalTreeCursor(this);
|
|
2583
|
-
return C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0]);
|
|
2584
|
-
}
|
|
2585
|
-
get nodeId() {
|
|
2586
|
-
marshalTreeCursor(this);
|
|
2587
|
-
return C._ts_tree_cursor_current_node_id_wasm(this.tree[0]);
|
|
2588
|
-
}
|
|
2589
|
-
get nodeIsNamed() {
|
|
2590
|
-
marshalTreeCursor(this);
|
|
2591
|
-
return C._ts_tree_cursor_current_node_is_named_wasm(this.tree[0]) === 1;
|
|
2592
|
-
}
|
|
2593
|
-
get nodeIsMissing() {
|
|
2594
|
-
marshalTreeCursor(this);
|
|
2595
|
-
return C._ts_tree_cursor_current_node_is_missing_wasm(this.tree[0]) === 1;
|
|
2596
|
-
}
|
|
2597
|
-
get nodeText() {
|
|
2598
|
-
marshalTreeCursor(this);
|
|
2599
|
-
const startIndex = C._ts_tree_cursor_start_index_wasm(this.tree[0]);
|
|
2600
|
-
const endIndex = C._ts_tree_cursor_end_index_wasm(this.tree[0]);
|
|
2601
|
-
return getText(this.tree, startIndex, endIndex);
|
|
2602
|
-
}
|
|
2603
|
-
get startPosition() {
|
|
2604
|
-
marshalTreeCursor(this);
|
|
2605
|
-
C._ts_tree_cursor_start_position_wasm(this.tree[0]);
|
|
2606
|
-
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2607
|
-
}
|
|
2608
|
-
get endPosition() {
|
|
2609
|
-
marshalTreeCursor(this);
|
|
2610
|
-
C._ts_tree_cursor_end_position_wasm(this.tree[0]);
|
|
2611
|
-
return unmarshalPoint(TRANSFER_BUFFER);
|
|
2612
|
-
}
|
|
2613
|
-
get startIndex() {
|
|
2614
|
-
marshalTreeCursor(this);
|
|
2615
|
-
return C._ts_tree_cursor_start_index_wasm(this.tree[0]);
|
|
2616
|
-
}
|
|
2617
|
-
get endIndex() {
|
|
2618
|
-
marshalTreeCursor(this);
|
|
2619
|
-
return C._ts_tree_cursor_end_index_wasm(this.tree[0]);
|
|
2620
|
-
}
|
|
2621
|
-
get currentNode() {
|
|
2622
|
-
marshalTreeCursor(this);
|
|
2623
|
-
C._ts_tree_cursor_current_node_wasm(this.tree[0]);
|
|
2624
|
-
return unmarshalNode(this.tree);
|
|
2625
|
-
}
|
|
2626
|
-
get currentFieldId() {
|
|
2627
|
-
marshalTreeCursor(this);
|
|
2628
|
-
return C._ts_tree_cursor_current_field_id_wasm(this.tree[0]);
|
|
2629
|
-
}
|
|
2630
|
-
get currentFieldName() {
|
|
2631
|
-
return this.tree.language.fields[this.currentFieldId];
|
|
2632
|
-
}
|
|
2633
|
-
get currentDepth() {
|
|
2634
|
-
marshalTreeCursor(this);
|
|
2635
|
-
return C._ts_tree_cursor_current_depth_wasm(this.tree[0]);
|
|
2636
|
-
}
|
|
2637
|
-
get currentDescendantIndex() {
|
|
2638
|
-
marshalTreeCursor(this);
|
|
2639
|
-
return C._ts_tree_cursor_current_descendant_index_wasm(this.tree[0]);
|
|
2640
|
-
}
|
|
2641
|
-
gotoFirstChild() {
|
|
2642
|
-
marshalTreeCursor(this);
|
|
2643
|
-
const result = C._ts_tree_cursor_goto_first_child_wasm(this.tree[0]);
|
|
2644
|
-
unmarshalTreeCursor(this);
|
|
2645
|
-
return result === 1;
|
|
2646
|
-
}
|
|
2647
|
-
gotoLastChild() {
|
|
2648
|
-
marshalTreeCursor(this);
|
|
2649
|
-
const result = C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]);
|
|
2650
|
-
unmarshalTreeCursor(this);
|
|
2651
|
-
return result === 1;
|
|
2652
|
-
}
|
|
2653
|
-
gotoFirstChildForIndex(goalIndex) {
|
|
2654
|
-
marshalTreeCursor(this);
|
|
2655
|
-
setValue(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalIndex, "i32");
|
|
2656
|
-
const result = C._ts_tree_cursor_goto_first_child_for_index_wasm(this.tree[0]);
|
|
2657
|
-
unmarshalTreeCursor(this);
|
|
2658
|
-
return result === 1;
|
|
2659
|
-
}
|
|
2660
|
-
gotoFirstChildForPosition(goalPosition) {
|
|
2661
|
-
marshalTreeCursor(this);
|
|
2662
|
-
marshalPoint(TRANSFER_BUFFER + SIZE_OF_CURSOR, goalPosition);
|
|
2663
|
-
const result = C._ts_tree_cursor_goto_first_child_for_position_wasm(this.tree[0]);
|
|
2664
|
-
unmarshalTreeCursor(this);
|
|
2665
|
-
return result === 1;
|
|
2666
|
-
}
|
|
2667
|
-
gotoNextSibling() {
|
|
2668
|
-
marshalTreeCursor(this);
|
|
2669
|
-
const result = C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]);
|
|
2670
|
-
unmarshalTreeCursor(this);
|
|
2671
|
-
return result === 1;
|
|
2672
|
-
}
|
|
2673
|
-
gotoPreviousSibling() {
|
|
2674
|
-
marshalTreeCursor(this);
|
|
2675
|
-
const result = C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]);
|
|
2676
|
-
unmarshalTreeCursor(this);
|
|
2677
|
-
return result === 1;
|
|
2678
|
-
}
|
|
2679
|
-
gotoDescendant(goalDescendantindex) {
|
|
2680
|
-
marshalTreeCursor(this);
|
|
2681
|
-
C._ts_tree_cursor_goto_descendant_wasm(this.tree[0], goalDescendantindex);
|
|
2682
|
-
unmarshalTreeCursor(this);
|
|
2683
|
-
}
|
|
2684
|
-
gotoParent() {
|
|
2685
|
-
marshalTreeCursor(this);
|
|
2686
|
-
const result = C._ts_tree_cursor_goto_parent_wasm(this.tree[0]);
|
|
2687
|
-
unmarshalTreeCursor(this);
|
|
2688
|
-
return result === 1;
|
|
2689
|
-
}
|
|
2690
|
-
}
|
|
2691
|
-
class Language {
|
|
2692
|
-
constructor(internal, address) {
|
|
2693
|
-
assertInternal(internal);
|
|
2694
|
-
this[0] = address;
|
|
2695
|
-
this.types = new Array(C._ts_language_symbol_count(this[0]));
|
|
2696
|
-
for (let i = 0, n = this.types.length; i < n; i++) {
|
|
2697
|
-
if (C._ts_language_symbol_type(this[0], i) < 2) {
|
|
2698
|
-
this.types[i] = UTF8ToString(C._ts_language_symbol_name(this[0], i));
|
|
2699
|
-
}
|
|
2700
|
-
}
|
|
2701
|
-
this.fields = new Array(C._ts_language_field_count(this[0]) + 1);
|
|
2702
|
-
for (let i = 0, n = this.fields.length; i < n; i++) {
|
|
2703
|
-
const fieldName = C._ts_language_field_name_for_id(this[0], i);
|
|
2704
|
-
if (fieldName !== 0) {
|
|
2705
|
-
this.fields[i] = UTF8ToString(fieldName);
|
|
2706
|
-
} else {
|
|
2707
|
-
this.fields[i] = null;
|
|
2708
|
-
}
|
|
2709
|
-
}
|
|
2710
|
-
}
|
|
2711
|
-
get version() {
|
|
2712
|
-
return C._ts_language_version(this[0]);
|
|
2713
|
-
}
|
|
2714
|
-
get fieldCount() {
|
|
2715
|
-
return this.fields.length - 1;
|
|
2716
|
-
}
|
|
2717
|
-
get stateCount() {
|
|
2718
|
-
return C._ts_language_state_count(this[0]);
|
|
2719
|
-
}
|
|
2720
|
-
fieldIdForName(fieldName) {
|
|
2721
|
-
const result = this.fields.indexOf(fieldName);
|
|
2722
|
-
if (result !== -1) {
|
|
2723
|
-
return result;
|
|
2724
|
-
} else {
|
|
2725
|
-
return null;
|
|
2726
|
-
}
|
|
2727
|
-
}
|
|
2728
|
-
fieldNameForId(fieldId) {
|
|
2729
|
-
return this.fields[fieldId] || null;
|
|
2730
|
-
}
|
|
2731
|
-
idForNodeType(type, named) {
|
|
2732
|
-
const typeLength = lengthBytesUTF8(type);
|
|
2733
|
-
const typeAddress = C._malloc(typeLength + 1);
|
|
2734
|
-
stringToUTF8(type, typeAddress, typeLength + 1);
|
|
2735
|
-
const result = C._ts_language_symbol_for_name(this[0], typeAddress, typeLength, named);
|
|
2736
|
-
C._free(typeAddress);
|
|
2737
|
-
return result || null;
|
|
2738
|
-
}
|
|
2739
|
-
get nodeTypeCount() {
|
|
2740
|
-
return C._ts_language_symbol_count(this[0]);
|
|
2741
|
-
}
|
|
2742
|
-
nodeTypeForId(typeId) {
|
|
2743
|
-
const name = C._ts_language_symbol_name(this[0], typeId);
|
|
2744
|
-
return name ? UTF8ToString(name) : null;
|
|
2745
|
-
}
|
|
2746
|
-
nodeTypeIsNamed(typeId) {
|
|
2747
|
-
return C._ts_language_type_is_named_wasm(this[0], typeId) ? true : false;
|
|
2748
|
-
}
|
|
2749
|
-
nodeTypeIsVisible(typeId) {
|
|
2750
|
-
return C._ts_language_type_is_visible_wasm(this[0], typeId) ? true : false;
|
|
2751
|
-
}
|
|
2752
|
-
nextState(stateId, typeId) {
|
|
2753
|
-
return C._ts_language_next_state(this[0], stateId, typeId);
|
|
2754
|
-
}
|
|
2755
|
-
lookaheadIterator(stateId) {
|
|
2756
|
-
const address = C._ts_lookahead_iterator_new(this[0], stateId);
|
|
2757
|
-
if (address) return new LookaheadIterable(INTERNAL, address, this);
|
|
2758
|
-
return null;
|
|
2759
|
-
}
|
|
2760
|
-
query(source) {
|
|
2761
|
-
const sourceLength = lengthBytesUTF8(source);
|
|
2762
|
-
const sourceAddress = C._malloc(sourceLength + 1);
|
|
2763
|
-
stringToUTF8(source, sourceAddress, sourceLength + 1);
|
|
2764
|
-
const address = C._ts_query_new(this[0], sourceAddress, sourceLength, TRANSFER_BUFFER, TRANSFER_BUFFER + SIZE_OF_INT);
|
|
2765
|
-
if (!address) {
|
|
2766
|
-
const errorId = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
2767
|
-
const errorByte = getValue(TRANSFER_BUFFER, "i32");
|
|
2768
|
-
const errorIndex = UTF8ToString(sourceAddress, errorByte).length;
|
|
2769
|
-
const suffix = source.substr(errorIndex, 100).split("\n")[0];
|
|
2770
|
-
let word = suffix.match(QUERY_WORD_REGEX)[0];
|
|
2771
|
-
let error;
|
|
2772
|
-
switch (errorId) {
|
|
2773
|
-
case 2:
|
|
2774
|
-
error = new RangeError(`Bad node name '${word}'`);
|
|
2775
|
-
break;
|
|
2776
|
-
case 3:
|
|
2777
|
-
error = new RangeError(`Bad field name '${word}'`);
|
|
2778
|
-
break;
|
|
2779
|
-
case 4:
|
|
2780
|
-
error = new RangeError(`Bad capture name @${word}`);
|
|
2781
|
-
break;
|
|
2782
|
-
case 5:
|
|
2783
|
-
error = new TypeError(`Bad pattern structure at offset ${errorIndex}: '${suffix}'...`);
|
|
2784
|
-
word = "";
|
|
2785
|
-
break;
|
|
2786
|
-
default:
|
|
2787
|
-
error = new SyntaxError(`Bad syntax at offset ${errorIndex}: '${suffix}'...`);
|
|
2788
|
-
word = "";
|
|
2789
|
-
break;
|
|
2790
|
-
}
|
|
2791
|
-
error.index = errorIndex;
|
|
2792
|
-
error.length = word.length;
|
|
2793
|
-
C._free(sourceAddress);
|
|
2794
|
-
throw error;
|
|
2795
|
-
}
|
|
2796
|
-
const stringCount = C._ts_query_string_count(address);
|
|
2797
|
-
const captureCount = C._ts_query_capture_count(address);
|
|
2798
|
-
const patternCount = C._ts_query_pattern_count(address);
|
|
2799
|
-
const captureNames = new Array(captureCount);
|
|
2800
|
-
const stringValues = new Array(stringCount);
|
|
2801
|
-
for (let i = 0; i < captureCount; i++) {
|
|
2802
|
-
const nameAddress = C._ts_query_capture_name_for_id(address, i, TRANSFER_BUFFER);
|
|
2803
|
-
const nameLength = getValue(TRANSFER_BUFFER, "i32");
|
|
2804
|
-
captureNames[i] = UTF8ToString(nameAddress, nameLength);
|
|
2805
|
-
}
|
|
2806
|
-
for (let i = 0; i < stringCount; i++) {
|
|
2807
|
-
const valueAddress = C._ts_query_string_value_for_id(address, i, TRANSFER_BUFFER);
|
|
2808
|
-
const nameLength = getValue(TRANSFER_BUFFER, "i32");
|
|
2809
|
-
stringValues[i] = UTF8ToString(valueAddress, nameLength);
|
|
2810
|
-
}
|
|
2811
|
-
const setProperties = new Array(patternCount);
|
|
2812
|
-
const assertedProperties = new Array(patternCount);
|
|
2813
|
-
const refutedProperties = new Array(patternCount);
|
|
2814
|
-
const predicates = new Array(patternCount);
|
|
2815
|
-
const textPredicates = new Array(patternCount);
|
|
2816
|
-
for (let i = 0; i < patternCount; i++) {
|
|
2817
|
-
const predicatesAddress = C._ts_query_predicates_for_pattern(address, i, TRANSFER_BUFFER);
|
|
2818
|
-
const stepCount = getValue(TRANSFER_BUFFER, "i32");
|
|
2819
|
-
predicates[i] = [];
|
|
2820
|
-
textPredicates[i] = [];
|
|
2821
|
-
const steps = [];
|
|
2822
|
-
let stepAddress = predicatesAddress;
|
|
2823
|
-
for (let j = 0; j < stepCount; j++) {
|
|
2824
|
-
const stepType = getValue(stepAddress, "i32");
|
|
2825
|
-
stepAddress += SIZE_OF_INT;
|
|
2826
|
-
const stepValueId = getValue(stepAddress, "i32");
|
|
2827
|
-
stepAddress += SIZE_OF_INT;
|
|
2828
|
-
if (stepType === PREDICATE_STEP_TYPE_CAPTURE) {
|
|
2829
|
-
steps.push({
|
|
2830
|
-
type: "capture",
|
|
2831
|
-
name: captureNames[stepValueId]
|
|
2832
|
-
});
|
|
2833
|
-
} else if (stepType === PREDICATE_STEP_TYPE_STRING) {
|
|
2834
|
-
steps.push({
|
|
2835
|
-
type: "string",
|
|
2836
|
-
value: stringValues[stepValueId]
|
|
2837
|
-
});
|
|
2838
|
-
} else if (steps.length > 0) {
|
|
2839
|
-
if (steps[0].type !== "string") {
|
|
2840
|
-
throw new Error("Predicates must begin with a literal value");
|
|
2841
|
-
}
|
|
2842
|
-
const operator = steps[0].value;
|
|
2843
|
-
let isPositive = true;
|
|
2844
|
-
let matchAll = true;
|
|
2845
|
-
let captureName;
|
|
2846
|
-
switch (operator) {
|
|
2847
|
-
case "any-not-eq?":
|
|
2848
|
-
case "not-eq?":
|
|
2849
|
-
isPositive = false;
|
|
2850
|
-
case "any-eq?":
|
|
2851
|
-
case "eq?":
|
|
2852
|
-
if (steps.length !== 3) {
|
|
2853
|
-
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}`);
|
|
2854
|
-
}
|
|
2855
|
-
if (steps[1].type !== "capture") {
|
|
2856
|
-
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}"`);
|
|
2857
|
-
}
|
|
2858
|
-
matchAll = !operator.startsWith("any-");
|
|
2859
|
-
if (steps[2].type === "capture") {
|
|
2860
|
-
const captureName1 = steps[1].name;
|
|
2861
|
-
const captureName2 = steps[2].name;
|
|
2862
|
-
textPredicates[i].push(captures => {
|
|
2863
|
-
const nodes1 = [];
|
|
2864
|
-
const nodes2 = [];
|
|
2865
|
-
for (const c of captures) {
|
|
2866
|
-
if (c.name === captureName1) nodes1.push(c.node);
|
|
2867
|
-
if (c.name === captureName2) nodes2.push(c.node);
|
|
2868
|
-
}
|
|
2869
|
-
const compare = (n1, n2, positive) => positive ? n1.text === n2.text : n1.text !== n2.text;
|
|
2870
|
-
return matchAll ? nodes1.every(n1 => nodes2.some(n2 => compare(n1, n2, isPositive))) : nodes1.some(n1 => nodes2.some(n2 => compare(n1, n2, isPositive)));
|
|
2871
|
-
});
|
|
2872
|
-
} else {
|
|
2873
|
-
captureName = steps[1].name;
|
|
2874
|
-
const stringValue = steps[2].value;
|
|
2875
|
-
const matches = n => n.text === stringValue;
|
|
2876
|
-
const doesNotMatch = n => n.text !== stringValue;
|
|
2877
|
-
textPredicates[i].push(captures => {
|
|
2878
|
-
const nodes = [];
|
|
2879
|
-
for (const c of captures) {
|
|
2880
|
-
if (c.name === captureName) nodes.push(c.node);
|
|
2881
|
-
}
|
|
2882
|
-
const test = isPositive ? matches : doesNotMatch;
|
|
2883
|
-
return matchAll ? nodes.every(test) : nodes.some(test);
|
|
2884
|
-
});
|
|
2885
|
-
}
|
|
2886
|
-
break;
|
|
2887
|
-
case "any-not-match?":
|
|
2888
|
-
case "not-match?":
|
|
2889
|
-
isPositive = false;
|
|
2890
|
-
case "any-match?":
|
|
2891
|
-
case "match?":
|
|
2892
|
-
if (steps.length !== 3) {
|
|
2893
|
-
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}.`);
|
|
2894
|
-
}
|
|
2895
|
-
if (steps[1].type !== "capture") {
|
|
2896
|
-
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`);
|
|
2897
|
-
}
|
|
2898
|
-
if (steps[2].type !== "string") {
|
|
2899
|
-
throw new Error(`Second argument of \`#${operator}\` predicate must be a string. Got @${steps[2].value}.`);
|
|
2900
|
-
}
|
|
2901
|
-
captureName = steps[1].name;
|
|
2902
|
-
const regex = new RegExp(steps[2].value);
|
|
2903
|
-
matchAll = !operator.startsWith("any-");
|
|
2904
|
-
textPredicates[i].push(captures => {
|
|
2905
|
-
const nodes = [];
|
|
2906
|
-
for (const c of captures) {
|
|
2907
|
-
if (c.name === captureName) nodes.push(c.node.text);
|
|
2908
|
-
}
|
|
2909
|
-
const test = (text, positive) => positive ? regex.test(text) : !regex.test(text);
|
|
2910
|
-
if (nodes.length === 0) return !isPositive;
|
|
2911
|
-
return matchAll ? nodes.every(text => test(text, isPositive)) : nodes.some(text => test(text, isPositive));
|
|
2912
|
-
});
|
|
2913
|
-
break;
|
|
2914
|
-
case "set!":
|
|
2915
|
-
if (steps.length < 2 || steps.length > 3) {
|
|
2916
|
-
throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`);
|
|
2917
|
-
}
|
|
2918
|
-
if (steps.some(s => s.type !== "string")) {
|
|
2919
|
-
throw new Error(`Arguments to \`#set!\` predicate must be a strings.".`);
|
|
2920
|
-
}
|
|
2921
|
-
if (!setProperties[i]) setProperties[i] = {};
|
|
2922
|
-
setProperties[i][steps[1].value] = steps[2] ? steps[2].value : null;
|
|
2923
|
-
break;
|
|
2924
|
-
case "is?":
|
|
2925
|
-
case "is-not?":
|
|
2926
|
-
if (steps.length < 2 || steps.length > 3) {
|
|
2927
|
-
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`);
|
|
2928
|
-
}
|
|
2929
|
-
if (steps.some(s => s.type !== "string")) {
|
|
2930
|
-
throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`);
|
|
2931
|
-
}
|
|
2932
|
-
const properties = operator === "is?" ? assertedProperties : refutedProperties;
|
|
2933
|
-
if (!properties[i]) properties[i] = {};
|
|
2934
|
-
properties[i][steps[1].value] = steps[2] ? steps[2].value : null;
|
|
2935
|
-
break;
|
|
2936
|
-
case "not-any-of?":
|
|
2937
|
-
isPositive = false;
|
|
2938
|
-
case "any-of?":
|
|
2939
|
-
if (steps.length < 2) {
|
|
2940
|
-
throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected at least 1. Got ${steps.length - 1}.`);
|
|
2941
|
-
}
|
|
2942
|
-
if (steps[1].type !== "capture") {
|
|
2943
|
-
throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`);
|
|
2944
|
-
}
|
|
2945
|
-
for (let i = 2; i < steps.length; i++) {
|
|
2946
|
-
if (steps[i].type !== "string") {
|
|
2947
|
-
throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`);
|
|
2948
|
-
}
|
|
2949
|
-
}
|
|
2950
|
-
captureName = steps[1].name;
|
|
2951
|
-
const values = steps.slice(2).map(s => s.value);
|
|
2952
|
-
textPredicates[i].push(captures => {
|
|
2953
|
-
const nodes = [];
|
|
2954
|
-
for (const c of captures) {
|
|
2955
|
-
if (c.name === captureName) nodes.push(c.node.text);
|
|
2956
|
-
}
|
|
2957
|
-
if (nodes.length === 0) return !isPositive;
|
|
2958
|
-
return nodes.every(text => values.includes(text)) === isPositive;
|
|
2959
|
-
});
|
|
2960
|
-
break;
|
|
2961
|
-
default:
|
|
2962
|
-
predicates[i].push({
|
|
2963
|
-
operator: operator,
|
|
2964
|
-
operands: steps.slice(1)
|
|
2965
|
-
});
|
|
2966
|
-
}
|
|
2967
|
-
steps.length = 0;
|
|
2968
|
-
}
|
|
2969
|
-
}
|
|
2970
|
-
Object.freeze(setProperties[i]);
|
|
2971
|
-
Object.freeze(assertedProperties[i]);
|
|
2972
|
-
Object.freeze(refutedProperties[i]);
|
|
2973
|
-
}
|
|
2974
|
-
C._free(sourceAddress);
|
|
2975
|
-
return new Query(INTERNAL, address, captureNames, textPredicates, predicates, Object.freeze(setProperties), Object.freeze(assertedProperties), Object.freeze(refutedProperties));
|
|
2976
|
-
}
|
|
2977
|
-
static load(input) {
|
|
2978
|
-
let bytes;
|
|
2979
|
-
if (input instanceof Uint8Array) {
|
|
2980
|
-
bytes = Promise.resolve(input);
|
|
2981
|
-
} else {
|
|
2982
|
-
const url = input;
|
|
2983
|
-
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
2984
|
-
const fs = require$$0;
|
|
2985
|
-
bytes = Promise.resolve(fs.readFileSync(url));
|
|
2986
|
-
} else {
|
|
2987
|
-
bytes = fetch(url).then(response => response.arrayBuffer().then(buffer => {
|
|
2988
|
-
if (response.ok) {
|
|
2989
|
-
return new Uint8Array(buffer);
|
|
2990
|
-
} else {
|
|
2991
|
-
const body = new TextDecoder("utf-8").decode(buffer);
|
|
2992
|
-
throw new Error(`Language.load failed with status ${response.status}.\n\n${body}`);
|
|
2993
|
-
}
|
|
2994
|
-
}));
|
|
2995
|
-
}
|
|
2996
|
-
}
|
|
2997
|
-
return bytes.then(bytes => loadWebAssemblyModule(bytes, {
|
|
2998
|
-
loadAsync: true
|
|
2999
|
-
})).then(mod => {
|
|
3000
|
-
const symbolNames = Object.keys(mod);
|
|
3001
|
-
const functionName = symbolNames.find(key => LANGUAGE_FUNCTION_REGEX.test(key) && !key.includes("external_scanner_"));
|
|
3002
|
-
if (!functionName) {
|
|
3003
|
-
console.log(`Couldn't find language function in WASM file. Symbols:\n${JSON.stringify(symbolNames, null, 2)}`);
|
|
3004
|
-
}
|
|
3005
|
-
const languageAddress = mod[functionName]();
|
|
3006
|
-
return new Language(INTERNAL, languageAddress);
|
|
3007
|
-
});
|
|
3008
|
-
}
|
|
3009
|
-
}
|
|
3010
|
-
class LookaheadIterable {
|
|
3011
|
-
constructor(internal, address, language) {
|
|
3012
|
-
assertInternal(internal);
|
|
3013
|
-
this[0] = address;
|
|
3014
|
-
this.language = language;
|
|
3015
|
-
}
|
|
3016
|
-
get currentTypeId() {
|
|
3017
|
-
return C._ts_lookahead_iterator_current_symbol(this[0]);
|
|
3018
|
-
}
|
|
3019
|
-
get currentType() {
|
|
3020
|
-
return this.language.types[this.currentTypeId] || "ERROR";
|
|
3021
|
-
}
|
|
3022
|
-
delete() {
|
|
3023
|
-
C._ts_lookahead_iterator_delete(this[0]);
|
|
3024
|
-
this[0] = 0;
|
|
3025
|
-
}
|
|
3026
|
-
resetState(stateId) {
|
|
3027
|
-
return C._ts_lookahead_iterator_reset_state(this[0], stateId);
|
|
3028
|
-
}
|
|
3029
|
-
reset(language, stateId) {
|
|
3030
|
-
if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) {
|
|
3031
|
-
this.language = language;
|
|
3032
|
-
return true;
|
|
3033
|
-
}
|
|
3034
|
-
return false;
|
|
3035
|
-
}
|
|
3036
|
-
[Symbol.iterator]() {
|
|
3037
|
-
const self = this;
|
|
3038
|
-
return {
|
|
3039
|
-
next() {
|
|
3040
|
-
if (C._ts_lookahead_iterator_next(self[0])) {
|
|
3041
|
-
return {
|
|
3042
|
-
done: false,
|
|
3043
|
-
value: self.currentType
|
|
3044
|
-
};
|
|
3045
|
-
}
|
|
3046
|
-
return {
|
|
3047
|
-
done: true,
|
|
3048
|
-
value: ""
|
|
3049
|
-
};
|
|
3050
|
-
}
|
|
3051
|
-
};
|
|
3052
|
-
}
|
|
3053
|
-
}
|
|
3054
|
-
class Query {
|
|
3055
|
-
constructor(internal, address, captureNames, textPredicates, predicates, setProperties, assertedProperties, refutedProperties) {
|
|
3056
|
-
assertInternal(internal);
|
|
3057
|
-
this[0] = address;
|
|
3058
|
-
this.captureNames = captureNames;
|
|
3059
|
-
this.textPredicates = textPredicates;
|
|
3060
|
-
this.predicates = predicates;
|
|
3061
|
-
this.setProperties = setProperties;
|
|
3062
|
-
this.assertedProperties = assertedProperties;
|
|
3063
|
-
this.refutedProperties = refutedProperties;
|
|
3064
|
-
this.exceededMatchLimit = false;
|
|
3065
|
-
}
|
|
3066
|
-
delete() {
|
|
3067
|
-
C._ts_query_delete(this[0]);
|
|
3068
|
-
this[0] = 0;
|
|
3069
|
-
}
|
|
3070
|
-
matches(node, {
|
|
3071
|
-
startPosition = ZERO_POINT,
|
|
3072
|
-
endPosition = ZERO_POINT,
|
|
3073
|
-
startIndex = 0,
|
|
3074
|
-
endIndex = 0,
|
|
3075
|
-
matchLimit = 4294967295,
|
|
3076
|
-
maxStartDepth = 4294967295
|
|
3077
|
-
} = {}) {
|
|
3078
|
-
if (typeof matchLimit !== "number") {
|
|
3079
|
-
throw new Error("Arguments must be numbers");
|
|
3080
|
-
}
|
|
3081
|
-
marshalNode(node);
|
|
3082
|
-
C._ts_query_matches_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth);
|
|
3083
|
-
const rawCount = getValue(TRANSFER_BUFFER, "i32");
|
|
3084
|
-
const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
3085
|
-
const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3086
|
-
const result = new Array(rawCount);
|
|
3087
|
-
this.exceededMatchLimit = Boolean(didExceedMatchLimit);
|
|
3088
|
-
let filteredCount = 0;
|
|
3089
|
-
let address = startAddress;
|
|
3090
|
-
for (let i = 0; i < rawCount; i++) {
|
|
3091
|
-
const pattern = getValue(address, "i32");
|
|
3092
|
-
address += SIZE_OF_INT;
|
|
3093
|
-
const captureCount = getValue(address, "i32");
|
|
3094
|
-
address += SIZE_OF_INT;
|
|
3095
|
-
const captures = new Array(captureCount);
|
|
3096
|
-
address = unmarshalCaptures(this, node.tree, address, captures);
|
|
3097
|
-
if (this.textPredicates[pattern].every(p => p(captures))) {
|
|
3098
|
-
result[filteredCount] = {
|
|
3099
|
-
pattern: pattern,
|
|
3100
|
-
captures: captures
|
|
3101
|
-
};
|
|
3102
|
-
const setProperties = this.setProperties[pattern];
|
|
3103
|
-
if (setProperties) result[filteredCount].setProperties = setProperties;
|
|
3104
|
-
const assertedProperties = this.assertedProperties[pattern];
|
|
3105
|
-
if (assertedProperties) result[filteredCount].assertedProperties = assertedProperties;
|
|
3106
|
-
const refutedProperties = this.refutedProperties[pattern];
|
|
3107
|
-
if (refutedProperties) result[filteredCount].refutedProperties = refutedProperties;
|
|
3108
|
-
filteredCount++;
|
|
3109
|
-
}
|
|
3110
|
-
}
|
|
3111
|
-
result.length = filteredCount;
|
|
3112
|
-
C._free(startAddress);
|
|
3113
|
-
return result;
|
|
3114
|
-
}
|
|
3115
|
-
captures(node, {
|
|
3116
|
-
startPosition = ZERO_POINT,
|
|
3117
|
-
endPosition = ZERO_POINT,
|
|
3118
|
-
startIndex = 0,
|
|
3119
|
-
endIndex = 0,
|
|
3120
|
-
matchLimit = 4294967295,
|
|
3121
|
-
maxStartDepth = 4294967295
|
|
3122
|
-
} = {}) {
|
|
3123
|
-
if (typeof matchLimit !== "number") {
|
|
3124
|
-
throw new Error("Arguments must be numbers");
|
|
3125
|
-
}
|
|
3126
|
-
marshalNode(node);
|
|
3127
|
-
C._ts_query_captures_wasm(this[0], node.tree[0], startPosition.row, startPosition.column, endPosition.row, endPosition.column, startIndex, endIndex, matchLimit, maxStartDepth);
|
|
3128
|
-
const count = getValue(TRANSFER_BUFFER, "i32");
|
|
3129
|
-
const startAddress = getValue(TRANSFER_BUFFER + SIZE_OF_INT, "i32");
|
|
3130
|
-
const didExceedMatchLimit = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3131
|
-
const result = [];
|
|
3132
|
-
this.exceededMatchLimit = Boolean(didExceedMatchLimit);
|
|
3133
|
-
const captures = [];
|
|
3134
|
-
let address = startAddress;
|
|
3135
|
-
for (let i = 0; i < count; i++) {
|
|
3136
|
-
const pattern = getValue(address, "i32");
|
|
3137
|
-
address += SIZE_OF_INT;
|
|
3138
|
-
const captureCount = getValue(address, "i32");
|
|
3139
|
-
address += SIZE_OF_INT;
|
|
3140
|
-
const captureIndex = getValue(address, "i32");
|
|
3141
|
-
address += SIZE_OF_INT;
|
|
3142
|
-
captures.length = captureCount;
|
|
3143
|
-
address = unmarshalCaptures(this, node.tree, address, captures);
|
|
3144
|
-
if (this.textPredicates[pattern].every(p => p(captures))) {
|
|
3145
|
-
const capture = captures[captureIndex];
|
|
3146
|
-
const setProperties = this.setProperties[pattern];
|
|
3147
|
-
if (setProperties) capture.setProperties = setProperties;
|
|
3148
|
-
const assertedProperties = this.assertedProperties[pattern];
|
|
3149
|
-
if (assertedProperties) capture.assertedProperties = assertedProperties;
|
|
3150
|
-
const refutedProperties = this.refutedProperties[pattern];
|
|
3151
|
-
if (refutedProperties) capture.refutedProperties = refutedProperties;
|
|
3152
|
-
result.push(capture);
|
|
3153
|
-
}
|
|
3154
|
-
}
|
|
3155
|
-
C._free(startAddress);
|
|
3156
|
-
return result;
|
|
3157
|
-
}
|
|
3158
|
-
predicatesForPattern(patternIndex) {
|
|
3159
|
-
return this.predicates[patternIndex];
|
|
3160
|
-
}
|
|
3161
|
-
disableCapture(captureName) {
|
|
3162
|
-
const captureNameLength = lengthBytesUTF8(captureName);
|
|
3163
|
-
const captureNameAddress = C._malloc(captureNameLength + 1);
|
|
3164
|
-
stringToUTF8(captureName, captureNameAddress, captureNameLength + 1);
|
|
3165
|
-
C._ts_query_disable_capture(this[0], captureNameAddress, captureNameLength);
|
|
3166
|
-
C._free(captureNameAddress);
|
|
3167
|
-
}
|
|
3168
|
-
didExceedMatchLimit() {
|
|
3169
|
-
return this.exceededMatchLimit;
|
|
3170
|
-
}
|
|
3171
|
-
}
|
|
3172
|
-
function getText(tree, startIndex, endIndex) {
|
|
3173
|
-
const length = endIndex - startIndex;
|
|
3174
|
-
let result = tree.textCallback(startIndex, null, endIndex);
|
|
3175
|
-
startIndex += result.length;
|
|
3176
|
-
while (startIndex < endIndex) {
|
|
3177
|
-
const string = tree.textCallback(startIndex, null, endIndex);
|
|
3178
|
-
if (string && string.length > 0) {
|
|
3179
|
-
startIndex += string.length;
|
|
3180
|
-
result += string;
|
|
3181
|
-
} else {
|
|
3182
|
-
break;
|
|
3183
|
-
}
|
|
3184
|
-
}
|
|
3185
|
-
if (startIndex > endIndex) {
|
|
3186
|
-
result = result.slice(0, length);
|
|
3187
|
-
}
|
|
3188
|
-
return result;
|
|
3189
|
-
}
|
|
3190
|
-
function unmarshalCaptures(query, tree, address, result) {
|
|
3191
|
-
for (let i = 0, n = result.length; i < n; i++) {
|
|
3192
|
-
const captureIndex = getValue(address, "i32");
|
|
3193
|
-
address += SIZE_OF_INT;
|
|
3194
|
-
const node = unmarshalNode(tree, address);
|
|
3195
|
-
address += SIZE_OF_NODE;
|
|
3196
|
-
result[i] = {
|
|
3197
|
-
name: query.captureNames[captureIndex],
|
|
3198
|
-
node: node
|
|
3199
|
-
};
|
|
3200
|
-
}
|
|
3201
|
-
return address;
|
|
3202
|
-
}
|
|
3203
|
-
function assertInternal(x) {
|
|
3204
|
-
if (x !== INTERNAL) throw new Error("Illegal constructor");
|
|
3205
|
-
}
|
|
3206
|
-
function isPoint(point) {
|
|
3207
|
-
return point && typeof point.row === "number" && typeof point.column === "number";
|
|
3208
|
-
}
|
|
3209
|
-
function marshalNode(node) {
|
|
3210
|
-
let address = TRANSFER_BUFFER;
|
|
3211
|
-
setValue(address, node.id, "i32");
|
|
3212
|
-
address += SIZE_OF_INT;
|
|
3213
|
-
setValue(address, node.startIndex, "i32");
|
|
3214
|
-
address += SIZE_OF_INT;
|
|
3215
|
-
setValue(address, node.startPosition.row, "i32");
|
|
3216
|
-
address += SIZE_OF_INT;
|
|
3217
|
-
setValue(address, node.startPosition.column, "i32");
|
|
3218
|
-
address += SIZE_OF_INT;
|
|
3219
|
-
setValue(address, node[0], "i32");
|
|
3220
|
-
}
|
|
3221
|
-
function unmarshalNode(tree, address = TRANSFER_BUFFER) {
|
|
3222
|
-
const id = getValue(address, "i32");
|
|
3223
|
-
address += SIZE_OF_INT;
|
|
3224
|
-
if (id === 0) return null;
|
|
3225
|
-
const index = getValue(address, "i32");
|
|
3226
|
-
address += SIZE_OF_INT;
|
|
3227
|
-
const row = getValue(address, "i32");
|
|
3228
|
-
address += SIZE_OF_INT;
|
|
3229
|
-
const column = getValue(address, "i32");
|
|
3230
|
-
address += SIZE_OF_INT;
|
|
3231
|
-
const other = getValue(address, "i32");
|
|
3232
|
-
const result = new Node(INTERNAL, tree);
|
|
3233
|
-
result.id = id;
|
|
3234
|
-
result.startIndex = index;
|
|
3235
|
-
result.startPosition = {
|
|
3236
|
-
row: row,
|
|
3237
|
-
column: column
|
|
3238
|
-
};
|
|
3239
|
-
result[0] = other;
|
|
3240
|
-
return result;
|
|
3241
|
-
}
|
|
3242
|
-
function marshalTreeCursor(cursor, address = TRANSFER_BUFFER) {
|
|
3243
|
-
setValue(address + 0 * SIZE_OF_INT, cursor[0], "i32");
|
|
3244
|
-
setValue(address + 1 * SIZE_OF_INT, cursor[1], "i32");
|
|
3245
|
-
setValue(address + 2 * SIZE_OF_INT, cursor[2], "i32");
|
|
3246
|
-
setValue(address + 3 * SIZE_OF_INT, cursor[3], "i32");
|
|
3247
|
-
}
|
|
3248
|
-
function unmarshalTreeCursor(cursor) {
|
|
3249
|
-
cursor[0] = getValue(TRANSFER_BUFFER + 0 * SIZE_OF_INT, "i32");
|
|
3250
|
-
cursor[1] = getValue(TRANSFER_BUFFER + 1 * SIZE_OF_INT, "i32");
|
|
3251
|
-
cursor[2] = getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, "i32");
|
|
3252
|
-
cursor[3] = getValue(TRANSFER_BUFFER + 3 * SIZE_OF_INT, "i32");
|
|
3253
|
-
}
|
|
3254
|
-
function marshalPoint(address, point) {
|
|
3255
|
-
setValue(address, point.row, "i32");
|
|
3256
|
-
setValue(address + SIZE_OF_INT, point.column, "i32");
|
|
3257
|
-
}
|
|
3258
|
-
function unmarshalPoint(address) {
|
|
3259
|
-
const result = {
|
|
3260
|
-
row: getValue(address, "i32") >>> 0,
|
|
3261
|
-
column: getValue(address + SIZE_OF_INT, "i32") >>> 0
|
|
3262
|
-
};
|
|
3263
|
-
return result;
|
|
3264
|
-
}
|
|
3265
|
-
function marshalRange(address, range) {
|
|
3266
|
-
marshalPoint(address, range.startPosition);
|
|
3267
|
-
address += SIZE_OF_POINT;
|
|
3268
|
-
marshalPoint(address, range.endPosition);
|
|
3269
|
-
address += SIZE_OF_POINT;
|
|
3270
|
-
setValue(address, range.startIndex, "i32");
|
|
3271
|
-
address += SIZE_OF_INT;
|
|
3272
|
-
setValue(address, range.endIndex, "i32");
|
|
3273
|
-
address += SIZE_OF_INT;
|
|
3274
|
-
}
|
|
3275
|
-
function unmarshalRange(address) {
|
|
3276
|
-
const result = {};
|
|
3277
|
-
result.startPosition = unmarshalPoint(address);
|
|
3278
|
-
address += SIZE_OF_POINT;
|
|
3279
|
-
result.endPosition = unmarshalPoint(address);
|
|
3280
|
-
address += SIZE_OF_POINT;
|
|
3281
|
-
result.startIndex = getValue(address, "i32") >>> 0;
|
|
3282
|
-
address += SIZE_OF_INT;
|
|
3283
|
-
result.endIndex = getValue(address, "i32") >>> 0;
|
|
3284
|
-
return result;
|
|
3285
|
-
}
|
|
3286
|
-
function marshalEdit(edit) {
|
|
3287
|
-
let address = TRANSFER_BUFFER;
|
|
3288
|
-
marshalPoint(address, edit.startPosition);
|
|
3289
|
-
address += SIZE_OF_POINT;
|
|
3290
|
-
marshalPoint(address, edit.oldEndPosition);
|
|
3291
|
-
address += SIZE_OF_POINT;
|
|
3292
|
-
marshalPoint(address, edit.newEndPosition);
|
|
3293
|
-
address += SIZE_OF_POINT;
|
|
3294
|
-
setValue(address, edit.startIndex, "i32");
|
|
3295
|
-
address += SIZE_OF_INT;
|
|
3296
|
-
setValue(address, edit.oldEndIndex, "i32");
|
|
3297
|
-
address += SIZE_OF_INT;
|
|
3298
|
-
setValue(address, edit.newEndIndex, "i32");
|
|
3299
|
-
address += SIZE_OF_INT;
|
|
3300
|
-
}
|
|
3301
|
-
// end include: /src/lib/binding_web/binding.js
|
|
3302
|
-
// include: /src/lib/binding_web/suffix.js
|
|
3303
|
-
for (const name of Object.getOwnPropertyNames(ParserImpl.prototype)) {
|
|
3304
|
-
Object.defineProperty(Parser.prototype, name, {
|
|
3305
|
-
value: ParserImpl.prototype[name],
|
|
3306
|
-
enumerable: false,
|
|
3307
|
-
writable: false
|
|
3308
|
-
});
|
|
3309
|
-
}
|
|
3310
|
-
Parser.Language = Language;
|
|
3311
|
-
Module.onRuntimeInitialized = () => {
|
|
3312
|
-
ParserImpl.init();
|
|
3313
|
-
resolveInitPromise();
|
|
3314
|
-
};
|
|
3315
|
-
});
|
|
3316
|
-
}
|
|
3317
|
-
}
|
|
3318
|
-
return Parser;
|
|
3319
|
-
}();
|
|
3320
|
-
{
|
|
3321
|
-
module.exports = TreeSitter;
|
|
3322
|
-
}
|
|
3323
|
-
} (treeSitter));
|
|
3324
|
-
|
|
3325
|
-
var treeSitterExports = treeSitter.exports;
|
|
3326
|
-
const WebTreeSitter = /*@__PURE__*/getDefaultExportFromCjs(treeSitterExports);
|
|
3327
|
-
|
|
3328
|
-
const WebTreeSitterNamespace = /*#__PURE__*/_mergeNamespaces({
|
|
3329
|
-
__proto__: null,
|
|
3330
|
-
default: WebTreeSitter
|
|
3331
|
-
}, [treeSitterExports]);
|
|
3332
|
-
|
|
3333
|
-
let Parser;
|
|
3334
|
-
if (
|
|
3335
|
-
// Node/Vitest (jsdom) requires a namespace import, and access to a `default`
|
|
3336
|
-
// property on the imported namespace object.
|
|
3337
|
-
typeof WebTreeSitter === "function"
|
|
3338
|
-
) {
|
|
3339
|
-
Parser = WebTreeSitter;
|
|
3340
|
-
} else if (
|
|
3341
|
-
// Vite build and Vitest (browser test environments) require a namespace
|
|
3342
|
-
// import, to which the constructor is assigned.
|
|
3343
|
-
typeof WebTreeSitterNamespace === "function"
|
|
3344
|
-
) {
|
|
3345
|
-
Parser = WebTreeSitterNamespace;
|
|
3346
|
-
} else if (
|
|
3347
|
-
// No known cases, added out of an abundance of caution since the ESM default
|
|
3348
|
-
// is already imported for its type definitions.
|
|
3349
|
-
typeof WebTreeSitter === "function"
|
|
3350
|
-
) {
|
|
3351
|
-
Parser = WebTreeSitter;
|
|
3352
|
-
} else {
|
|
3353
|
-
throw new Error("Failed to import web-tree-sitter (`Parser` constructor)");
|
|
3354
|
-
}
|
|
3355
|
-
const unprefixNodeFileSystemPath = (resourcePath) => {
|
|
3356
|
-
if (IS_NODE_RUNTIME && resourcePath.startsWith("/@fs/")) {
|
|
3357
|
-
return resourcePath.replace("/@fs/", "/");
|
|
3358
|
-
}
|
|
3359
|
-
return resourcePath;
|
|
3360
|
-
};
|
|
3361
|
-
const WEB_ASSEMBLY_DATA_URL_PREFIX = "data:application/wasm;base64,";
|
|
3362
|
-
const isWebAssemblyDataURL = (resource) => {
|
|
3363
|
-
return resource.startsWith(WEB_ASSEMBLY_DATA_URL_PREFIX);
|
|
3364
|
-
};
|
|
3365
|
-
const dataURLToUInt8Array = (resource) => {
|
|
3366
|
-
const base64 = resource.replace(WEB_ASSEMBLY_DATA_URL_PREFIX, "");
|
|
3367
|
-
const binaryChars = atob(base64);
|
|
3368
|
-
const mapBinaryChar = (character) => character.charCodeAt(0);
|
|
3369
|
-
return Uint8Array.from(binaryChars, mapBinaryChar);
|
|
3370
|
-
};
|
|
3371
|
-
const resolveWASMResource = (resource) => {
|
|
3372
|
-
if (isWebAssemblyDataURL(resource)) {
|
|
3373
|
-
return dataURLToUInt8Array(resource);
|
|
3374
|
-
}
|
|
3375
|
-
return unprefixNodeFileSystemPath(resource);
|
|
3376
|
-
};
|
|
3377
|
-
class TreeSitterXPathParser {
|
|
3378
|
-
constructor(parser) {
|
|
3379
|
-
this.parser = parser;
|
|
3380
|
-
}
|
|
3381
|
-
static async init(resources) {
|
|
3382
|
-
const { webTreeSitter, xpathLanguage } = resources;
|
|
3383
|
-
let webTreeSitterInitOptions = {};
|
|
3384
|
-
if (webTreeSitter != null) {
|
|
3385
|
-
const webTreeSitterResource = resolveWASMResource(webTreeSitter);
|
|
3386
|
-
if (typeof webTreeSitterResource === "string") {
|
|
3387
|
-
webTreeSitterInitOptions = {
|
|
3388
|
-
locateFile: () => webTreeSitterResource
|
|
3389
|
-
};
|
|
3390
|
-
} else {
|
|
3391
|
-
webTreeSitterInitOptions = { wasmBinary: webTreeSitterResource };
|
|
3392
|
-
}
|
|
3393
|
-
}
|
|
3394
|
-
await Parser.init(webTreeSitterInitOptions);
|
|
3395
|
-
const xpathLanguageResource = resolveWASMResource(xpathLanguage);
|
|
3396
|
-
const language = await Parser.Language.load(xpathLanguageResource);
|
|
3397
|
-
const parser = new Parser();
|
|
3398
|
-
parser.setLanguage(language);
|
|
3399
|
-
return new this(parser);
|
|
3400
|
-
}
|
|
3401
|
-
parse(expression) {
|
|
3402
|
-
return this.parser.parse(expression);
|
|
3403
|
-
}
|
|
3404
|
-
}
|
|
3405
|
-
|
|
3406
|
-
class SyntaxNode {
|
|
3407
|
-
type;
|
|
3408
|
-
text;
|
|
3409
|
-
childCount;
|
|
3410
|
-
children;
|
|
3411
|
-
constructor(node) {
|
|
3412
|
-
const {
|
|
3413
|
-
type,
|
|
3414
|
-
text,
|
|
3415
|
-
childCount,
|
|
3416
|
-
children
|
|
3417
|
-
} = node;
|
|
3418
|
-
this.type = type;
|
|
3419
|
-
this.text = text;
|
|
3420
|
-
this.childCount = childCount;
|
|
3421
|
-
this.children = children.map((child) => new SyntaxNode(child));
|
|
3422
|
-
}
|
|
3423
|
-
child(index) {
|
|
3424
|
-
return this.children[index] ?? null;
|
|
3425
|
-
}
|
|
3426
|
-
}
|
|
3427
|
-
class SyntaxLanguage {
|
|
3428
|
-
types;
|
|
3429
|
-
constructor(tsLanguage) {
|
|
3430
|
-
this.types = [...tsLanguage.types].filter((type) => type != null);
|
|
3431
|
-
}
|
|
3432
|
-
}
|
|
3433
|
-
class SyntaxTree {
|
|
3434
|
-
language;
|
|
3435
|
-
rootNode;
|
|
3436
|
-
constructor(tsTree) {
|
|
3437
|
-
const { language, rootNode } = tsTree;
|
|
3438
|
-
this.language = new SyntaxLanguage(language);
|
|
3439
|
-
this.rootNode = new SyntaxNode(rootNode);
|
|
3440
|
-
}
|
|
3441
|
-
}
|
|
3442
|
-
class ExpressionParser {
|
|
3443
|
-
constructor(xpathParser) {
|
|
3444
|
-
this.xpathParser = xpathParser;
|
|
3445
|
-
}
|
|
3446
|
-
static from(baseParser) {
|
|
3447
|
-
if (baseParser instanceof ExpressionParser) {
|
|
3448
|
-
return baseParser;
|
|
3449
|
-
}
|
|
3450
|
-
return new this(baseParser);
|
|
3451
|
-
}
|
|
3452
|
-
static async init(resources) {
|
|
3453
|
-
const baseParser = await TreeSitterXPathParser.init(resources);
|
|
3454
|
-
return this.from(baseParser);
|
|
3455
|
-
}
|
|
3456
|
-
// TODO: this cache can grow indefinitely. If the parser instance continues
|
|
3457
|
-
// to be used as a singleton (see `Evaluator.ts`), it would make sense to
|
|
3458
|
-
// have some sort of cache invalidation considerations.
|
|
3459
|
-
cache = new UpsertableMap();
|
|
3460
|
-
parse(expression, options = {}) {
|
|
3461
|
-
return this.cache.upsert(expression, () => {
|
|
3462
|
-
const parsed = this.xpathParser.parse(expression);
|
|
3463
|
-
const { rootNode } = parsed;
|
|
3464
|
-
if (rootNode.hasError) {
|
|
3465
|
-
if (options.attemptErrorRecovery) ;
|
|
3466
|
-
throw new Error(`Expression has syntax error: ${expression}`);
|
|
3467
|
-
}
|
|
3468
|
-
return new SyntaxTree(parsed);
|
|
3469
|
-
});
|
|
3470
|
-
}
|
|
3471
|
-
}
|
|
3472
|
-
|
|
3473
|
-
const expressionParser = await ExpressionParser.init({
|
|
3474
|
-
webTreeSitter,
|
|
3475
|
-
xpathLanguage
|
|
3476
|
-
});
|
|
3477
|
-
|
|
3478
|
-
export { UpsertableMap as U, getDefaultExportFromCjs as a, commonjsGlobal as c, expressionParser as e, getAugmentedNamespace as g };
|
|
3479
|
-
//# sourceMappingURL=expressionParser-DpqfmhIO.js.map
|