@hpcc-js/observablehq-compiler 3.7.1 → 3.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/dot-DS0nDHkc.js.map +1 -1
  2. package/dist/duckdb-ZQnOaRxt.js.map +1 -1
  3. package/dist/{highlight-D4GZSyte.js → highlight-DMD1f-AU.js} +2 -2
  4. package/dist/{highlight-D4GZSyte.js.map → highlight-DMD1f-AU.js.map} +1 -1
  5. package/dist/{index-BhLIDOLl.js → index-BEJybQP2.js} +2 -2
  6. package/dist/{index-BhLIDOLl.js.map → index-BEJybQP2.js.map} +1 -1
  7. package/dist/{index-1Npg2JBP.js → index-B_MA3pnO.js} +2 -2
  8. package/dist/{index-1Npg2JBP.js.map → index-B_MA3pnO.js.map} +1 -1
  9. package/dist/{index-CtJBv-UX.js → index-Bx3I5Hd1.js} +2 -2
  10. package/dist/{index-CtJBv-UX.js.map → index-Bx3I5Hd1.js.map} +1 -1
  11. package/dist/{index-1YyP-Dd5.js → index-DX-wW7fi.js} +2 -2
  12. package/dist/{index-1YyP-Dd5.js.map → index-DX-wW7fi.js.map} +1 -1
  13. package/dist/{index-DhnKOdJS.js → index-DXoy8fy6.js} +2 -2
  14. package/dist/{index-DhnKOdJS.js.map → index-DXoy8fy6.js.map} +1 -1
  15. package/dist/index-DzAd7RhG.js +2 -0
  16. package/dist/index-DzAd7RhG.js.map +1 -0
  17. package/dist/leaflet-JfyiggwS.js.map +1 -1
  18. package/dist/mapboxgl-DqywFqPd.js.map +1 -1
  19. package/dist/{md-D8g-CkYO.js → md-DCq6DMWq.js} +2 -2
  20. package/dist/md-DCq6DMWq.js.map +1 -0
  21. package/dist/mermaid-0kvRJ9Mp.js +2 -0
  22. package/dist/mermaid-0kvRJ9Mp.js.map +1 -0
  23. package/dist/node/index.cjs +1 -1
  24. package/dist/node/index.cjs.map +1 -1
  25. package/dist/node/index.js +1 -1
  26. package/dist/node/index.js.map +1 -1
  27. package/dist/runtime.js +1 -1
  28. package/dist/runtime.js.map +1 -1
  29. package/dist/tex-BV6RAcNQ.js.map +1 -1
  30. package/dist/vega-lite-Phlb3i_g.js.map +1 -1
  31. package/package.json +4 -4
  32. package/dist/index-DnEF9mFX.js +0 -2
  33. package/dist/index-DnEF9mFX.js.map +0 -1
  34. package/dist/md-D8g-CkYO.js.map +0 -1
  35. package/dist/mermaid-DqafRzAu.js +0 -2
  36. package/dist/mermaid-DqafRzAu.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dot-DS0nDHkc.js","sources":["../../../node_modules/@observablehq/notebook-kit/dist/src/runtime/stdlib/dot.js"],"sourcesContent":["import { instance } from \"npm:@viz-js/viz\";\nconst viz = await instance();\nexport const dot = (template, ...values) => {\n const source = String.raw.call(String, template, ...values);\n const svg = viz.renderSVGElement(source, {\n graphAttributes: {\n bgcolor: \"none\",\n color: \"#00000101\",\n fontcolor: \"#00000101\",\n fontname: \"var(--sans-serif)\",\n fontsize: \"12\"\n },\n nodeAttributes: {\n color: \"#00000101\",\n fontcolor: \"#00000101\",\n fontname: \"var(--sans-serif)\",\n fontsize: \"12\"\n },\n edgeAttributes: {\n color: \"#00000101\"\n }\n });\n for (const e of svg.querySelectorAll(\"[stroke='#000001'][stroke-opacity='0.003922']\")) {\n e.setAttribute(\"stroke\", \"currentColor\");\n e.removeAttribute(\"stroke-opacity\");\n }\n for (const e of svg.querySelectorAll(\"[fill='#000001'][fill-opacity='0.003922']\")) {\n e.setAttribute(\"fill\", \"currentColor\");\n e.removeAttribute(\"fill-opacity\");\n }\n svg.remove();\n svg.style = \"max-width: 100%; height: auto;\";\n return svg;\n};\n"],"names":["viz","instance","dot","__name","template","values","source","String","raw","call","svg","renderSVGElement","graphAttributes","bgcolor","color","fontcolor","fontname","fontsize","nodeAttributes","edgeAttributes","e","querySelectorAll","setAttribute","removeAttribute","remove","style"],"mappings":"oJACA,MAAMA,QAAYC,IACLC,iBAAMC,EAAA,CAACC,KAAaC,KAC7B,MAAMC,EAASC,OAAOC,IAAIC,KAAKF,OAAQH,KAAaC,GAC9CK,EAAMV,EAAIW,iBAAiBL,EAAQ,CACrCM,gBAAiB,CACbC,QAAS,OACTC,MAAO,YACPC,UAAW,YACXC,SAAU,oBACVC,SAAU,MAEdC,eAAgB,CACZJ,MAAO,YACPC,UAAW,YACXC,SAAU,oBACVC,SAAU,MAEdE,eAAgB,CACZL,MAAO,eAGf,IAAA,MAAWM,KAAKV,EAAIW,iBAAiB,iDACjCD,EAAEE,aAAa,SAAU,gBACzBF,EAAEG,gBAAgB,kBAEtB,IAAA,MAAWH,KAAKV,EAAIW,iBAAiB,6CACjCD,EAAEE,aAAa,OAAQ,gBACvBF,EAAEG,gBAAgB,gBAItB,OAFAb,EAAIc,SACJd,EAAIe,MAAQ,iCACLf,GA9BQ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"dot-DS0nDHkc.js","sources":["../../../node_modules/@observablehq/notebook-kit/dist/src/runtime/stdlib/dot.js"],"sourcesContent":["import { instance } from \"https://cdn.jsdelivr.net/npm/@viz-js/viz/+esm\";\nconst viz = await instance();\nexport const dot = (template, ...values) => {\n const source = String.raw.call(String, template, ...values);\n const svg = viz.renderSVGElement(source, {\n graphAttributes: {\n bgcolor: \"none\",\n color: \"#00000101\",\n fontcolor: \"#00000101\",\n fontname: \"var(--sans-serif)\",\n fontsize: \"12\"\n },\n nodeAttributes: {\n color: \"#00000101\",\n fontcolor: \"#00000101\",\n fontname: \"var(--sans-serif)\",\n fontsize: \"12\"\n },\n edgeAttributes: {\n color: \"#00000101\"\n }\n });\n for (const e of svg.querySelectorAll(\"[stroke='#000001'][stroke-opacity='0.003922']\")) {\n e.setAttribute(\"stroke\", \"currentColor\");\n e.removeAttribute(\"stroke-opacity\");\n }\n for (const e of svg.querySelectorAll(\"[fill='#000001'][fill-opacity='0.003922']\")) {\n e.setAttribute(\"fill\", \"currentColor\");\n e.removeAttribute(\"fill-opacity\");\n }\n svg.remove();\n svg.style = \"max-width: 100%; height: auto;\";\n return svg;\n};\n"],"names":["viz","instance","dot","__name","template","values","source","String","raw","call","svg","renderSVGElement","graphAttributes","bgcolor","color","fontcolor","fontname","fontsize","nodeAttributes","edgeAttributes","e","querySelectorAll","setAttribute","removeAttribute","remove","style"],"mappings":"oJACA,MAAMA,QAAYC,IACLC,iBAAMC,EAAA,CAACC,KAAaC,KAC7B,MAAMC,EAASC,OAAOC,IAAIC,KAAKF,OAAQH,KAAaC,GAC9CK,EAAMV,EAAIW,iBAAiBL,EAAQ,CACrCM,gBAAiB,CACbC,QAAS,OACTC,MAAO,YACPC,UAAW,YACXC,SAAU,oBACVC,SAAU,MAEdC,eAAgB,CACZJ,MAAO,YACPC,UAAW,YACXC,SAAU,oBACVC,SAAU,MAEdE,eAAgB,CACZL,MAAO,eAGf,IAAA,MAAWM,KAAKV,EAAIW,iBAAiB,iDACjCD,EAAEE,aAAa,SAAU,gBACzBF,EAAEG,gBAAgB,kBAEtB,IAAA,MAAWH,KAAKV,EAAIW,iBAAiB,6CACjCD,EAAEE,aAAa,OAAQ,gBACvBF,EAAEG,gBAAgB,gBAItB,OAFAb,EAAIc,SACJd,EAAIe,MAAQ,iCACLf,GA9BQ","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"duckdb-ZQnOaRxt.js","sources":["../../../node_modules/@observablehq/notebook-kit/dist/src/runtime/stdlib/duckdb.js"],"sourcesContent":["import * as duckdb from \"npm:@duckdb/duckdb-wasm\";\n// Adapted from https://observablehq.com/@cmudig/duckdb-client\n// Copyright 2021 CMU Data Interaction Group\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are met:\n//\n// 1. Redistributions of source code must retain the above copyright notice,\n// this list of conditions and the following disclaimer.\n//\n// 2. Redistributions in binary form must reproduce the above copyright notice,\n// this list of conditions and the following disclaimer in the documentation\n// and/or other materials provided with the distribution.\n//\n// 3. Neither the name of the copyright holder nor the names of its contributors\n// may be used to endorse or promote products derived from this software\n// without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n// POSSIBILITY OF SUCH DAMAGE.\nconst bundles = {\n mvp: {\n mainModule: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-mvp.wasm\",\n mainWorker: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-browser-mvp.worker.js\"\n },\n eh: {\n mainModule: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-eh.wasm\",\n mainWorker: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-browser-eh.worker.js\"\n }\n};\nconst bundle = duckdb.selectBundle(bundles);\nconst logger = new duckdb.ConsoleLogger(duckdb.LogLevel.WARNING);\n// let db;\n// let inserts = [];\n// const sources = new Map();\n// export function registerTable(name, source) {\n// if (source == null) {\n// sources.delete(name);\n// db = DuckDBClient.of(); // drop existing tables and views before re-inserting\n// inserts = Array.from(sources, (i) => db.then((db) => insertSource(db._db, ...i)));\n// } else {\n// sources.set(name, source);\n// db ??= DuckDBClient.of(); // lazy instantiation\n// inserts.push(db.then((db) => insertSource(db._db, name, source)));\n// }\n// }\n// export async function sql(strings, ...args) {\n// return (await getDefaultClient()).query(strings.join(\"?\"), args);\n// }\n// export async function getDefaultClient() {\n// await Promise.all(inserts);\n// return await (db ??= DuckDBClient.of());\n// }\nexport class DuckDBClient {\n constructor(db) {\n Object.defineProperties(this, {\n _db: { value: db }\n });\n }\n async queryStream(query, params) {\n const connection = await this._db.connect();\n let reader, batch;\n try {\n if (params?.length > 0) {\n const statement = await connection.prepare(query);\n reader = await statement.send(...params);\n }\n else {\n reader = await connection.send(query);\n }\n batch = await reader.next();\n if (batch.done)\n throw new Error(\"missing first batch\");\n }\n catch (error) {\n await connection.close();\n throw error;\n }\n return {\n schema: batch.value.schema,\n async *readRows() {\n try {\n while (!batch.done) {\n yield batch.value.toArray();\n batch = await reader.next();\n }\n }\n finally {\n await connection.close();\n }\n }\n };\n }\n async query(query, params) {\n const connection = await this._db.connect();\n let table;\n try {\n if (params?.length > 0) {\n const statement = await connection.prepare(query);\n table = await statement.query(...params);\n }\n else {\n table = await connection.query(query);\n }\n }\n finally {\n await connection.close();\n }\n return table;\n }\n async queryRow(query, params) {\n const result = await this.queryStream(query, params);\n const reader = result.readRows();\n try {\n const { done, value } = await reader.next();\n return done || !value.length ? null : value[0];\n }\n finally {\n await reader.return();\n }\n }\n async sql(strings, ...args) {\n return await this.query(strings.join(\"?\"), args);\n }\n queryTag(strings, ...params) {\n return [strings.join(\"?\"), params];\n }\n escape(name) {\n return `\"${name}\"`;\n }\n async describeTables() {\n return Array.from(await this.query(\"SHOW TABLES\"), ({ name }) => ({ name }));\n }\n async describeColumns(options = {}) {\n return Array.from(await this.query(`DESCRIBE ${this.escape(options.table)}`), ({ column_name, column_type, null: nullable }) => ({\n name: column_name,\n type: getDuckDBType(column_type),\n nullable: nullable !== \"NO\",\n databaseType: column_type\n }));\n }\n static async of(sources = {}, config = {}) {\n const db = await createDuckDB();\n if (config.query?.castDecimalToDouble === undefined) {\n config = { ...config, query: { ...config.query, castDecimalToDouble: true } };\n }\n if (config.query?.castTimestampToDate === undefined) {\n config = { ...config, query: { ...config.query, castTimestampToDate: true } };\n }\n if (config.query?.castBigIntToDouble === undefined) {\n config = { ...config, query: { ...config.query, castBigIntToDouble: true } };\n }\n await db.open(config);\n // await registerExtensions(db, config.extensions);\n await Promise.all(Object.entries(sources).map(([name, source]) => insertSource(db, name, source)));\n return new DuckDBClient(db);\n }\n static sql() {\n return this.of.apply(this, arguments).then((db) => db.sql.bind(db));\n }\n}\nObject.defineProperty(DuckDBClient.prototype, \"dialect\", { value: \"duckdb\" });\n// async function registerExtensions(db, extensions) {\n// const {mainModule} = await bundle;\n// const platform = Object.keys(bundles).find(\n// (platform) => mainModule === bundles[platform].mainModule\n// );\n// const con = await db.connect();\n// try {\n// await Promise.all(\n// Object.entries(DUCKDB_MANIFEST.extensions).map(([name, {load, [platform]: ref}]) =>\n// con\n// .query(`INSTALL \"${name}\" FROM '${import.meta.resolve(ref)}'`)\n// .then(\n// () =>\n// (extensions === undefined ? load : extensions.includes(name)) &&\n// con.query(`LOAD \"${name}\"`)\n// )\n// )\n// );\n// } finally {\n// await con.close();\n// }\n// }\nasync function insertSource(database, name, source) {\n source = await source;\n if (isFileAttachment(source))\n return insertFile(database, name, source);\n if (isArrowTable(source))\n return insertArrowTable(database, name, source);\n if (Array.isArray(source))\n return insertArray(database, name, source);\n if (isArqueroTable(source))\n return insertArqueroTable(database, name, source);\n if (typeof source === \"string\")\n return insertUrl(database, name, source);\n if (source && typeof source === \"object\") {\n if (\"data\" in source) {\n // data + options\n const { data, ...options } = source;\n if (isArrowTable(data))\n return insertArrowTable(database, name, data, options);\n return insertArray(database, name, data, options);\n }\n if (\"file\" in source) {\n // file + options\n const { file, ...options } = source;\n return insertFile(database, name, file, options);\n }\n }\n throw new Error(`invalid source: ${source}`);\n}\nasync function insertUrl(database, name, url) {\n const connection = await database.connect();\n try {\n await connection.query(`CREATE VIEW '${name}' AS FROM '${url}'`);\n }\n finally {\n await connection.close();\n }\n}\nasync function insertFile(database, name, file, options) {\n const url = await file.url();\n if (url.startsWith(\"blob:\")) {\n const buffer = await file.arrayBuffer();\n await database.registerFileBuffer(file.name, new Uint8Array(buffer));\n }\n else {\n await database.registerFileURL(file.name, new URL(url, location).href, 4); // duckdb.DuckDBDataProtocol.HTTP\n }\n const connection = await database.connect();\n try {\n switch (file.mimeType) {\n case \"text/csv\":\n case \"text/tab-separated-values\": {\n return await connection\n .insertCSVFromPath(file.name, {\n name,\n schema: \"main\",\n ...options\n })\n .catch(async (error) => {\n // If initial attempt to insert CSV resulted in a conversion\n // error, try again, this time treating all columns as strings.\n if (error.toString().includes(\"Could not convert\")) {\n return await insertUntypedCSV(connection, file, name);\n }\n throw error;\n });\n }\n case \"application/json\":\n return await connection.insertJSONFromPath(file.name, {\n name,\n schema: \"main\",\n ...options\n });\n default:\n if (/\\.arrow$/i.test(file.name)) {\n const buffer = new Uint8Array(await file.arrayBuffer());\n return await connection.insertArrowFromIPCStream(buffer, {\n name,\n schema: \"main\",\n ...options\n });\n }\n if (/\\.parquet$/i.test(file.name)) {\n const table = file.size < 50e6 ? \"TABLE\" : \"VIEW\"; // for small files, materialize the table\n return await connection.query(`CREATE ${table} '${name}' AS SELECT * FROM parquet_scan('${file.name}')`);\n }\n if (/\\.(db|ddb|duckdb)$/i.test(file.name)) {\n return await connection.query(`ATTACH '${file.name}' AS ${name} (READ_ONLY)`);\n }\n throw new Error(`unknown file type: ${file.mimeType}`);\n }\n }\n finally {\n await connection.close();\n }\n}\nasync function insertUntypedCSV(connection, file, name) {\n const statement = await connection.prepare(`CREATE TABLE '${name}' AS SELECT * FROM read_csv_auto(?, ALL_VARCHAR=TRUE)`);\n return await statement.send(file.name);\n}\nasync function insertArrowTable(database, name, table, options) {\n const connection = await database.connect();\n try {\n await connection.insertArrowTable(table, {\n name,\n schema: \"main\",\n ...options\n });\n }\n finally {\n await connection.close();\n }\n}\nasync function insertArqueroTable(database, name, source) {\n // TODO When we have stdlib versioning and can upgrade Arquero to version 5,\n // we can then call source.toArrow() directly, with insertArrowTable()\n const arrow = await import(\"npm:apache-arrow\");\n const table = arrow.tableFromIPC(source.toArrowBuffer());\n return await insertArrowTable(database, name, table);\n}\nasync function insertArray(database, name, array, options) {\n const arrow = await import(\"npm:apache-arrow\");\n const table = arrow.tableFromJSON(array);\n return await insertArrowTable(database, name, table, options);\n}\nasync function createDuckDB() {\n const { mainWorker, mainModule } = await bundle;\n const worker = await duckdb.createWorker(mainWorker);\n const db = new duckdb.AsyncDuckDB(logger, worker);\n await db.instantiate(mainModule);\n return db;\n}\n// https://duckdb.org/docs/sql/data_types/overview\nfunction getDuckDBType(type) {\n switch (type) {\n case \"BIGINT\":\n case \"HUGEINT\":\n case \"UBIGINT\":\n return \"bigint\";\n case \"DOUBLE\":\n case \"REAL\":\n case \"FLOAT\":\n return \"number\";\n case \"INTEGER\":\n case \"SMALLINT\":\n case \"TINYINT\":\n case \"USMALLINT\":\n case \"UINTEGER\":\n case \"UTINYINT\":\n return \"integer\";\n case \"BOOLEAN\":\n return \"boolean\";\n case \"DATE\":\n case \"TIMESTAMP\":\n case \"TIMESTAMP WITH TIME ZONE\":\n return \"date\";\n case \"VARCHAR\":\n case \"UUID\":\n return \"string\";\n // case \"BLOB\":\n // case \"INTERVAL\":\n // case \"TIME\":\n default:\n if (/^DECIMAL\\(/.test(type))\n return \"integer\";\n return \"other\";\n }\n}\n// Returns true if the given value is an Observable FileAttachment.\nfunction isFileAttachment(value) {\n return (value &&\n typeof value.name === \"string\" &&\n typeof value.url === \"function\" &&\n typeof value.arrayBuffer === \"function\");\n}\n// Arquero tables have a `toArrowBuffer` function\nfunction isArqueroTable(value) {\n return value && typeof value.toArrowBuffer === \"function\";\n}\n// Returns true if the value is an Apache Arrow table. This uses a “duck” test\n// (instead of strict instanceof) because we want it to work with a range of\n// Apache Arrow versions at least 7.0.0 or above.\n// https://arrow.apache.org/docs/7.0/js/classes/Arrow_dom.Table.html\nfunction isArrowTable(value) {\n return (value &&\n typeof value.getChild === \"function\" &&\n typeof value.toArray === \"function\" &&\n value.schema &&\n Array.isArray(value.schema.fields));\n}\n"],"names":["bundle","duckdb","selectBundle","mvp","mainModule","mainWorker","eh","logger","ConsoleLogger","LogLevel","WARNING","_DuckDBClient","constructor","db","Object","defineProperties","this","_db","value","queryStream","query","params","connection","connect","reader","batch","length","statement","prepare","send","next","done","Error","error","close","schema","readRows","toArray","table","queryRow","return","sql","strings","args","join","queryTag","escape","name","describeTables","Array","from","describeColumns","options","column_name","column_type","null","nullable","type","getDuckDBType","databaseType","of","sources","config","createDuckDB","castDecimalToDouble","castTimestampToDate","castBigIntToDouble","open","Promise","all","entries","map","source","insertSource","apply","arguments","then","bind","__name","DuckDBClient","async","database","isFileAttachment","insertFile","isArrowTable","insertArrowTable","isArray","insertArray","isArqueroTable","insertArqueroTable","insertUrl","data","file","url","startsWith","buffer","arrayBuffer","registerFileBuffer","Uint8Array","registerFileURL","URL","location","href","mimeType","insertCSVFromPath","catch","toString","includes","insertUntypedCSV","insertJSONFromPath","test","insertArrowFromIPCStream","size","import","tableFromIPC","toArrowBuffer","array","tableFromJSON","worker","createWorker","AsyncDuckDB","instantiate","getChild","fields","defineProperty","prototype"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"duckdb-ZQnOaRxt.js","sources":["../../../node_modules/@observablehq/notebook-kit/dist/src/runtime/stdlib/duckdb.js"],"sourcesContent":["import * as duckdb from \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/+esm\";\n// Adapted from https://observablehq.com/@cmudig/duckdb-client\n// Copyright 2021 CMU Data Interaction Group\n//\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions are met:\n//\n// 1. Redistributions of source code must retain the above copyright notice,\n// this list of conditions and the following disclaimer.\n//\n// 2. Redistributions in binary form must reproduce the above copyright notice,\n// this list of conditions and the following disclaimer in the documentation\n// and/or other materials provided with the distribution.\n//\n// 3. Neither the name of the copyright holder nor the names of its contributors\n// may be used to endorse or promote products derived from this software\n// without specific prior written permission.\n//\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n// POSSIBILITY OF SUCH DAMAGE.\nconst bundles = {\n mvp: {\n mainModule: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-mvp.wasm\",\n mainWorker: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-browser-mvp.worker.js\" // prettier-ignore\n },\n eh: {\n mainModule: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-eh.wasm\",\n mainWorker: \"https://cdn.jsdelivr.net/npm/@duckdb/duckdb-wasm@1.29.0/dist/duckdb-browser-eh.worker.js\" // prettier-ignore\n }\n};\nconst bundle = duckdb.selectBundle(bundles);\nconst logger = new duckdb.ConsoleLogger(duckdb.LogLevel.WARNING);\n// let db;\n// let inserts = [];\n// const sources = new Map();\n// export function registerTable(name, source) {\n// if (source == null) {\n// sources.delete(name);\n// db = DuckDBClient.of(); // drop existing tables and views before re-inserting\n// inserts = Array.from(sources, (i) => db.then((db) => insertSource(db._db, ...i)));\n// } else {\n// sources.set(name, source);\n// db ??= DuckDBClient.of(); // lazy instantiation\n// inserts.push(db.then((db) => insertSource(db._db, name, source)));\n// }\n// }\n// export async function sql(strings, ...args) {\n// return (await getDefaultClient()).query(strings.join(\"?\"), args);\n// }\n// export async function getDefaultClient() {\n// await Promise.all(inserts);\n// return await (db ??= DuckDBClient.of());\n// }\nexport class DuckDBClient {\n constructor(db) {\n Object.defineProperties(this, {\n _db: { value: db }\n });\n }\n async queryStream(query, params) {\n const connection = await this._db.connect();\n let reader, batch;\n try {\n if (params?.length > 0) {\n const statement = await connection.prepare(query);\n reader = await statement.send(...params);\n }\n else {\n reader = await connection.send(query);\n }\n batch = await reader.next();\n if (batch.done)\n throw new Error(\"missing first batch\");\n }\n catch (error) {\n await connection.close();\n throw error;\n }\n return {\n schema: batch.value.schema,\n async *readRows() {\n try {\n while (!batch.done) {\n yield batch.value.toArray();\n batch = await reader.next();\n }\n }\n finally {\n await connection.close();\n }\n }\n };\n }\n async query(query, params) {\n const connection = await this._db.connect();\n let table;\n try {\n if (params?.length > 0) {\n const statement = await connection.prepare(query);\n table = await statement.query(...params);\n }\n else {\n table = await connection.query(query);\n }\n }\n finally {\n await connection.close();\n }\n return table;\n }\n async queryRow(query, params) {\n const result = await this.queryStream(query, params);\n const reader = result.readRows();\n try {\n const { done, value } = await reader.next();\n return done || !value.length ? null : value[0];\n }\n finally {\n await reader.return();\n }\n }\n async sql(strings, ...args) {\n return await this.query(strings.join(\"?\"), args);\n }\n queryTag(strings, ...params) {\n return [strings.join(\"?\"), params];\n }\n escape(name) {\n return `\"${name}\"`;\n }\n async describeTables() {\n return Array.from(await this.query(\"SHOW TABLES\"), ({ name }) => ({ name }));\n }\n async describeColumns(options = {}) {\n return Array.from(await this.query(`DESCRIBE ${this.escape(options.table)}`), ({ column_name, column_type, null: nullable }) => ({\n name: column_name,\n type: getDuckDBType(column_type),\n nullable: nullable !== \"NO\",\n databaseType: column_type\n }));\n }\n static async of(sources = {}, config = {}) {\n const db = await createDuckDB();\n if (config.query?.castDecimalToDouble === undefined) {\n config = { ...config, query: { ...config.query, castDecimalToDouble: true } };\n }\n if (config.query?.castTimestampToDate === undefined) {\n config = { ...config, query: { ...config.query, castTimestampToDate: true } };\n }\n if (config.query?.castBigIntToDouble === undefined) {\n config = { ...config, query: { ...config.query, castBigIntToDouble: true } };\n }\n await db.open(config);\n // await registerExtensions(db, config.extensions);\n await Promise.all(Object.entries(sources).map(([name, source]) => insertSource(db, name, source)));\n return new DuckDBClient(db);\n }\n static sql() {\n return this.of.apply(this, arguments).then((db) => db.sql.bind(db));\n }\n}\nObject.defineProperty(DuckDBClient.prototype, \"dialect\", { value: \"duckdb\" });\n// async function registerExtensions(db, extensions) {\n// const {mainModule} = await bundle;\n// const platform = Object.keys(bundles).find(\n// (platform) => mainModule === bundles[platform].mainModule\n// );\n// const con = await db.connect();\n// try {\n// await Promise.all(\n// Object.entries(DUCKDB_MANIFEST.extensions).map(([name, {load, [platform]: ref}]) =>\n// con\n// .query(`INSTALL \"${name}\" FROM '${import.meta.resolve(ref)}'`)\n// .then(\n// () =>\n// (extensions === undefined ? load : extensions.includes(name)) &&\n// con.query(`LOAD \"${name}\"`)\n// )\n// )\n// );\n// } finally {\n// await con.close();\n// }\n// }\nasync function insertSource(database, name, source) {\n source = await source;\n if (isFileAttachment(source))\n return insertFile(database, name, source);\n if (isArrowTable(source))\n return insertArrowTable(database, name, source);\n if (Array.isArray(source))\n return insertArray(database, name, source);\n if (isArqueroTable(source))\n return insertArqueroTable(database, name, source);\n if (typeof source === \"string\")\n return insertUrl(database, name, source);\n if (source && typeof source === \"object\") {\n if (\"data\" in source) {\n // data + options\n const { data, ...options } = source;\n if (isArrowTable(data))\n return insertArrowTable(database, name, data, options);\n return insertArray(database, name, data, options);\n }\n if (\"file\" in source) {\n // file + options\n const { file, ...options } = source;\n return insertFile(database, name, file, options);\n }\n }\n throw new Error(`invalid source: ${source}`);\n}\nasync function insertUrl(database, name, url) {\n const connection = await database.connect();\n try {\n await connection.query(`CREATE VIEW '${name}' AS FROM '${url}'`);\n }\n finally {\n await connection.close();\n }\n}\nasync function insertFile(database, name, file, options) {\n const url = await file.url();\n if (url.startsWith(\"blob:\")) {\n const buffer = await file.arrayBuffer();\n await database.registerFileBuffer(file.name, new Uint8Array(buffer));\n }\n else {\n await database.registerFileURL(file.name, new URL(url, location).href, 4); // duckdb.DuckDBDataProtocol.HTTP\n }\n const connection = await database.connect();\n try {\n switch (file.mimeType) {\n case \"text/csv\":\n case \"text/tab-separated-values\": {\n return await connection\n .insertCSVFromPath(file.name, {\n name,\n schema: \"main\",\n ...options\n })\n .catch(async (error) => {\n // If initial attempt to insert CSV resulted in a conversion\n // error, try again, this time treating all columns as strings.\n if (error.toString().includes(\"Could not convert\")) {\n return await insertUntypedCSV(connection, file, name);\n }\n throw error;\n });\n }\n case \"application/json\":\n return await connection.insertJSONFromPath(file.name, {\n name,\n schema: \"main\",\n ...options\n });\n default:\n if (/\\.arrow$/i.test(file.name)) {\n const buffer = new Uint8Array(await file.arrayBuffer());\n return await connection.insertArrowFromIPCStream(buffer, {\n name,\n schema: \"main\",\n ...options\n });\n }\n if (/\\.parquet$/i.test(file.name)) {\n const table = file.size < 50e6 ? \"TABLE\" : \"VIEW\"; // for small files, materialize the table\n return await connection.query(`CREATE ${table} '${name}' AS SELECT * FROM parquet_scan('${file.name}')`);\n }\n if (/\\.(db|ddb|duckdb)$/i.test(file.name)) {\n return await connection.query(`ATTACH '${file.name}' AS ${name} (READ_ONLY)`);\n }\n throw new Error(`unknown file type: ${file.mimeType}`);\n }\n }\n finally {\n await connection.close();\n }\n}\nasync function insertUntypedCSV(connection, file, name) {\n const statement = await connection.prepare(`CREATE TABLE '${name}' AS SELECT * FROM read_csv_auto(?, ALL_VARCHAR=TRUE)`);\n return await statement.send(file.name);\n}\nasync function insertArrowTable(database, name, table, options) {\n const connection = await database.connect();\n try {\n await connection.insertArrowTable(table, {\n name,\n schema: \"main\",\n ...options\n });\n }\n finally {\n await connection.close();\n }\n}\nasync function insertArqueroTable(database, name, source) {\n // TODO When we have stdlib versioning and can upgrade Arquero to version 5,\n // we can then call source.toArrow() directly, with insertArrowTable()\n const arrow = await import(\"https://cdn.jsdelivr.net/npm/apache-arrow@17.0.0/+esm\");\n const table = arrow.tableFromIPC(source.toArrowBuffer());\n return await insertArrowTable(database, name, table);\n}\nasync function insertArray(database, name, array, options) {\n const arrow = await import(\"https://cdn.jsdelivr.net/npm/apache-arrow@17.0.0/+esm\");\n const table = arrow.tableFromJSON(array);\n return await insertArrowTable(database, name, table, options);\n}\nasync function createDuckDB() {\n const { mainWorker, mainModule } = await bundle;\n const worker = await duckdb.createWorker(mainWorker);\n const db = new duckdb.AsyncDuckDB(logger, worker);\n await db.instantiate(mainModule);\n return db;\n}\n// https://duckdb.org/docs/sql/data_types/overview\nfunction getDuckDBType(type) {\n switch (type) {\n case \"BIGINT\":\n case \"HUGEINT\":\n case \"UBIGINT\":\n return \"bigint\";\n case \"DOUBLE\":\n case \"REAL\":\n case \"FLOAT\":\n return \"number\";\n case \"INTEGER\":\n case \"SMALLINT\":\n case \"TINYINT\":\n case \"USMALLINT\":\n case \"UINTEGER\":\n case \"UTINYINT\":\n return \"integer\";\n case \"BOOLEAN\":\n return \"boolean\";\n case \"DATE\":\n case \"TIMESTAMP\":\n case \"TIMESTAMP WITH TIME ZONE\":\n return \"date\";\n case \"VARCHAR\":\n case \"UUID\":\n return \"string\";\n // case \"BLOB\":\n // case \"INTERVAL\":\n // case \"TIME\":\n default:\n if (/^DECIMAL\\(/.test(type))\n return \"integer\";\n return \"other\";\n }\n}\n// Returns true if the given value is an Observable FileAttachment.\nfunction isFileAttachment(value) {\n return (value &&\n typeof value.name === \"string\" &&\n typeof value.url === \"function\" &&\n typeof value.arrayBuffer === \"function\");\n}\n// Arquero tables have a `toArrowBuffer` function\nfunction isArqueroTable(value) {\n return value && typeof value.toArrowBuffer === \"function\";\n}\n// Returns true if the value is an Apache Arrow table. This uses a “duck” test\n// (instead of strict instanceof) because we want it to work with a range of\n// Apache Arrow versions at least 7.0.0 or above.\n// https://arrow.apache.org/docs/7.0/js/classes/Arrow_dom.Table.html\nfunction isArrowTable(value) {\n return (value &&\n typeof value.getChild === \"function\" &&\n typeof value.toArray === \"function\" &&\n value.schema &&\n Array.isArray(value.schema.fields));\n}\n"],"names":["bundle","duckdb","selectBundle","mvp","mainModule","mainWorker","eh","logger","ConsoleLogger","LogLevel","WARNING","_DuckDBClient","constructor","db","Object","defineProperties","this","_db","value","queryStream","query","params","connection","connect","reader","batch","length","statement","prepare","send","next","done","Error","error","close","schema","readRows","toArray","table","queryRow","return","sql","strings","args","join","queryTag","escape","name","describeTables","Array","from","describeColumns","options","column_name","column_type","null","nullable","type","getDuckDBType","databaseType","of","sources","config","createDuckDB","castDecimalToDouble","castTimestampToDate","castBigIntToDouble","open","Promise","all","entries","map","source","insertSource","apply","arguments","then","bind","__name","DuckDBClient","async","database","isFileAttachment","insertFile","isArrowTable","insertArrowTable","isArray","insertArray","isArqueroTable","insertArqueroTable","insertUrl","data","file","url","startsWith","buffer","arrayBuffer","registerFileBuffer","Uint8Array","registerFileURL","URL","location","href","mimeType","insertCSVFromPath","catch","toString","includes","insertUntypedCSV","insertJSONFromPath","test","insertArrowFromIPCStream","size","import","tableFromIPC","toArrowBuffer","array","tableFromJSON","worker","createWorker","AsyncDuckDB","instantiate","getChild","fields","defineProperty","prototype"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,3 +1,3 @@
1
1
  var e=Object.defineProperty,t=(t,r)=>e(t,"name",{value:r,configurable:!0});const r=1024;let i=0;const n=class _Range{constructor(e,t){this.from=e,this.to=t}};t(n,"Range");let s=n;const o=class _NodeProp{constructor(e={}){this.id=i++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=d.match(e)),t=>{let r=e(t);return void 0===r?null:[this,r]}}};t(o,"NodeProp");let l=o;l.closedBy=new l({deserialize:/* @__PURE__ */t(e=>e.split(" "),"deserialize")}),l.openedBy=new l({deserialize:/* @__PURE__ */t(e=>e.split(" "),"deserialize")}),l.group=new l({deserialize:/* @__PURE__ */t(e=>e.split(" "),"deserialize")}),l.isolate=new l({deserialize:/* @__PURE__ */t(e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"},"deserialize")}),l.contextHash=new l({perNode:!0}),l.lookAhead=new l({perNode:!0}),l.mounted=new l({perNode:!0});const a=class _MountedTree{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[l.mounted.id]}};t(a,"MountedTree");let h=a;const f=/* @__PURE__ */Object.create(null),u=class _NodeType{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?/* @__PURE__ */Object.create(null):f,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),i=new _NodeType(e.name||"",t,e.id,r);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(i)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return i}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(l.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=/* @__PURE__ */Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return e=>{for(let r=e.prop(l.group),i=-1;i<(r?r.length:0);i++){let n=t[i<0?e.name:r[i]];if(n)return n}}}};t(u,"NodeType");let d=u;d.none=new d("",
2
- /* @__PURE__ */Object.create(null),0,8);const c=class _NodeSet{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let t of e){let e=t(r);if(e){i||(i=Object.assign({},r.props));let t=e[1],n=e[0];n.combine&&n.id in i&&(t=n.combine(i[n.id],t)),i[n.id]=t}}t.push(i?new d(r.name,i,r.id,r.flags):r)}return new _NodeSet(t)}};t(c,"NodeSet");let p=c;const g=/* @__PURE__ */new WeakMap,m=/* @__PURE__ */new WeakMap;var y,x;(x=y||(y={}))[x.ExcludeBuffers=1]="ExcludeBuffers",x[x.IncludeAnonymous=2]="IncludeAnonymous",x[x.IgnoreMounts=4]="IgnoreMounts",x[x.IgnoreOverlays=8]="IgnoreOverlays",x[x.EnterBracketed=16]="EnterBracketed";const b=class _Tree{constructor(e,t,r,i,n){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,n&&n.length){this.props=/* @__PURE__ */Object.create(null);for(let[e,t]of n)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=h.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let e=r.toString();e&&(t&&(t+=","),t+=e)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new q(this.topNode,e)}cursorAt(e,t=0,r=0){let i=g.get(this)||this.topNode,n=new q(i);return n.moveTo(e,t),g.set(this,n._tree),n}get topNode(){return new I(this,0,0,null)}resolve(e,t=0){let r=S(g.get(this)||this.topNode,e,t,!1);return g.set(this,r),r}resolveInner(e,t=0){let r=S(m.get(this)||this.topNode,e,t,!0);return m.set(this,r),r}resolveStack(e,t=0){return H(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:n=this.length}=e,s=e.mode||0,o=(s&y.IncludeAnonymous)>0;for(let l=this.cursor(s|y.IncludeAnonymous);;){let e=!1;if(l.from<=n&&l.to>=i&&(!o&&l.type.isAnonymous||!1!==t(l))){if(l.firstChild())continue;e=!0}for(;e&&r&&(o||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;e=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:V(d.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,r)=>new _Tree(this.type,e,t,r,this.propValues),e.makeTree||((e,t,r)=>new _Tree(d.none,e,t,r)))}static build(e){return K(e)}};t(b,"Tree");let k=b;k.empty=new k(d.none,[],[],0);const w=class _FlatBufferCursor{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new _FlatBufferCursor(this.buffer,this.index)}};t(w,"FlatBufferCursor");let _=w;const N=class _TreeBuffer{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return d.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],n=i.name;if(/\W/.test(n)&&!i.isError&&(n=JSON.stringify(n)),r==(e+=4))return n;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,t,r,i,n){let{buffer:s}=this,o=-1;for(let l=e;l!=t&&!(C(n,i,s[l+1],s[l+2])&&(o=l,r>0));l=s[l+3]);return o}slice(e,t,r){let i=this.buffer,n=new Uint16Array(t-e),s=0;for(let o=e,l=0;o<t;){n[l++]=i[o++],n[l++]=i[o++]-r;let t=n[l++]=i[o++]-r;n[l++]=i[o++]-e,s=Math.max(s,t)}return new _TreeBuffer(n,s,this.set)}};t(N,"TreeBuffer");let v=N;function C(e,t,r,i){switch(e){case-2:return r<t;case-1:return i>=t&&r<t;case 0:return r<t&&i>t;case 1:return r<=t&&i>t;case 2:return i>t;case 4:return!0}}function S(e,t,r,i){for(var n;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof I&&e.index<0?null:e.parent;if(!t)return e;e=t}let s=i?0:y.IgnoreOverlays;if(i)for(let o=e,l=o.parent;l;o=l,l=o.parent)o instanceof I&&o.index<0&&(null===(n=l.enter(t,r,s))||void 0===n?void 0:n.from)!=o.from&&(e=l);for(;;){let i=e.enter(t,r,s);if(!i)return e;e=i}}t(C,"checkSide"),t(S,"resolveNode");const B=class _BaseNode{cursor(e=0){return new q(this,e)}getChild(e,t=null,r=null){let i=z(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return z(this,e,t,r)}resolve(e,t=0){return S(this,e,t,!1)}resolveInner(e,t=0){return S(this,e,t,!0)}matchContext(e){return M(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}};t(B,"BaseNode");let A=B;const T=class _TreeNode extends A{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,n=0){var s;for(let o=this;;){for(let{children:l,positions:a}=o._tree,f=t>0?l.length:-1;e!=f;e+=t){let f=l[e],u=a[e]+o.from;if(n&y.EnterBracketed&&f instanceof k&&null===(null===(s=h.get(f))||void 0===s?void 0:s.overlay)&&(u>=r||u+f.length<=r)||C(i,r,u,u+f.length))if(f instanceof v){if(n&y.ExcludeBuffers)continue;let s=f.findChild(0,f.buffer.length,t,r-u,i);if(s>-1)return new R(new E(o,f,e,u),null,s)}else if(n&y.IncludeAnonymous||!f.type.isAnonymous||F(f)){let s;if(!(n&y.IgnoreMounts)&&(s=h.get(f))&&!s.overlay)return new _TreeNode(s.tree,u,e,o);let l=new _TreeNode(f,u,e,o);return n&y.IncludeAnonymous||!l.type.isAnonymous?l:l.nextChild(t<0?f.children.length-1:0,t,r,i,n)}}if(n&y.IncludeAnonymous||!o.type.isAnonymous)return null;if(e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length,o=o._parent,!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&y.IgnoreOverlays)&&(i=h.get(this._tree))&&i.overlay){let n=e-this.from,s=r&y.EnterBracketed&&i.bracketed;for(let{from:e,to:r}of i.overlay)if((t>0||s?e<=n:e<n)&&(t<0||s?r>=n:r>n))return new _TreeNode(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};t(T,"TreeNode");let I=T;function z(e,t,r,i){let n=e.cursor(),s=[];if(!n.firstChild())return s;if(null!=r)for(let o=!1;!o;)if(o=n.type.is(r),!n.nextSibling())return s;for(;;){if(null!=i&&n.type.is(i))return s;if(n.type.is(t)&&s.push(n.node),!n.nextSibling())return null==i?s:[]}}function M(e,t,r=t.length-1){for(let i=e;r>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[r]&&t[r]!=i.name)return!1;r--}}return!0}t(z,"getChildren"),t(M,"matchNodeContext");const O=class _BufferContext{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}};t(O,"BufferContext");let E=O;const j=class _BufferNode extends A{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return n<0?null:new _BufferNode(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&y.ExcludeBuffers)return null;let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new _BufferNode(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new _BufferNode(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new _BufferNode(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,n=r.buffer[this.index+3];if(n>i){let s=r.buffer[this.index+1];e.push(r.slice(i,n,s)),t.push(0)}return new k(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};t(j,"BufferNode");let R=j;function P(e){if(!e.length)return null;let t=0,r=e[0];for(let s=1;s<e.length;s++){let i=e[s];(i.from>r.from||i.to<r.to)&&(r=i,t=s)}let i=r instanceof I&&r.index<0?null:r.parent,n=e.slice();return i?n[t]=i:n.splice(t,1),new W(n,r)}t(P,"iterStack");const L=class _StackIterator{constructor(e,t){this.heads=e,this.node=t}get next(){return P(this.heads)}};t(L,"StackIterator");let W=L;function H(e,t,r){let i=e.resolveInner(t,r),n=null;for(let s=i instanceof I?i:i.context.parent;s;s=s.parent)if(s.index<0){let e=s.parent;(n||(n=[i])).push(e.resolve(t,r)),s=e}else{let e=h.get(s.tree);if(e&&e.overlay&&e.overlay[0].from<=t&&e.overlay[e.overlay.length-1].to>=t){let o=new I(e.tree,e.overlay[0].from+s.from,-1,s);(n||(n=[i])).push(S(o,t,r,!1))}}return n?P(n):i}t(H,"stackIterator");const U=class _TreeCursor{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~y.EnterBracketed,e instanceof I)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return!!e&&(e instanceof I?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?!(r&y.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&y.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&y.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let i=t+e,n=e<0?-1:r._tree.children.length;i!=n;i+=e){let e=r._tree.children[i];if(this.mode&y.IncludeAnonymous||e instanceof v||!e.type.isAnonymous||F(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,r=n+1;break e}i=this.stack[--n]}for(let i=r;i<this.stack.length;i++)t=new R(this.buffer,t,this.stack[i]);return this.bufferNode=new R(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return M(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,n=this.stack.length-1;i>=0;n--){if(n<0)return M(this._tree,e,i);let s=r[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}};t(U,"TreeCursor");let q=U;function F(e){return e.children.some(e=>e instanceof v||!e.type.isAnonymous||F(e))}function K(e){var i;let{buffer:n,nodeSet:s,maxBufferLength:o=r,reused:a=[],minRepeatType:h=s.types.length}=e,f=Array.isArray(n)?new _(n,n.length):n,u=s.types,d=0,c=0;function p(e,t,r,i,n,l){let{id:k,start:_,end:N,size:C}=f,S=c,B=d;if(C<0){if(f.next(),-1==C){let t=a[k];return r.push(t),void i.push(_-e)}if(-3==C)return void(d=k);if(-4==C)return void(c=k);throw new RangeError(`Unrecognized record size: ${C}`)}let A,T,I=u[k],z=_-e;if(N-_<=o&&(T=b(f.pos-t,n))){let t=new Uint16Array(T.size-T.skip),r=f.pos-T.size,i=t.length;for(;f.pos>r;)i=w(T.start,t,i);A=new v(t,N-T.start,s),z=T.start-e}else{let e=f.pos-C;f.next();let t=[],r=[],i=k>=h?k:-1,n=0,s=N;for(;f.pos>e;)i>=0&&f.id==i&&f.size>=0?(f.end<=s-o&&(y(t,r,_,n,f.end,s,i,S,B),n=t.length,s=f.end),f.next()):l>2500?g(_,e,t,r):p(_,e,t,r,i,l+1);if(i>=0&&n>0&&n<t.length&&y(t,r,_,n,_,s,i,S,B),t.reverse(),r.reverse(),i>-1&&n>0){let e=m(I,B);A=V(I,t,r,0,t.length,0,N-_,e,e)}else A=x(I,t,r,N-_,S-N,B)}r.push(A),i.push(z)}function g(e,t,r,i){let n=[],l=0,a=-1;for(;f.pos>t;){let{id:e,start:t,end:r,size:i}=f;if(i>4)f.next();else{if(a>-1&&t<a)break;a<0&&(a=r-o),n.push(e,t,r),l++,f.next()}}if(l){let t=new Uint16Array(4*l),o=n[n.length-2];for(let e=n.length-3,r=0;e>=0;e-=3)t[r++]=n[e],t[r++]=n[e+1]-o,t[r++]=n[e+2]-o,t[r++]=r;r.push(new v(t,n[2]-o,s)),i.push(o-e)}}function m(e,t){return(r,i,n)=>{let s,o,a=0,h=r.length-1;if(h>=0&&(s=r[h])instanceof k){if(!h&&s.type==e&&s.length==n)return s;(o=s.prop(l.lookAhead))&&(a=i[h]+s.length+o)}return x(e,r,i,n,a,t)}}function y(e,t,r,i,n,o,l,a,h){let f=[],u=[];for(;e.length>i;)f.push(e.pop()),u.push(t.pop()+r-n);e.push(x(s.types[l],f,u,o-n,a-o,h)),t.push(n-r)}function x(e,t,r,i,n,s,o){if(s){let e=[l.contextHash,s];o=o?[e].concat(o):[e]}if(n>25){let e=[l.lookAhead,n];o=o?[e].concat(o):[e]}return new k(e,t,r,i,o)}function b(e,t){let r=f.fork(),i=0,n=0,s=0,l=r.end-o,a={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){a.size=i,a.start=n,a.skip=s,s+=4,i+=4,r.next();continue}let f=r.pos-e;if(e<0||f<o||r.start<l)break;let u=r.id>=h?4:0,d=r.start;for(r.next();r.pos>f;){if(r.size<0){if(-3!=r.size&&-4!=r.size)break e;u+=4}else r.id>=h&&(u+=4);r.next()}n=d,i+=e,s+=u}return(t<0||i==e)&&(a.size=i,a.start=n,a.skip=s),a.size>4?a:void 0}function w(e,t,r){let{id:i,start:n,end:s,size:o}=f;if(f.next(),o>=0&&i<h){let l=r;if(o>4){let i=f.pos-(o-4);for(;f.pos>i;)r=w(e,t,r)}t[--r]=l,t[--r]=s-e,t[--r]=n-e,t[--r]=i}else-3==o?d=i:-4==o&&(c=i);return r}t(p,"takeNode"),t(g,"takeFlatNode"),t(m,"makeBalanced"),t(y,"makeRepeatLeaf"),t(x,"makeTree"),t(b,"findBufferSize"),t(w,"copyToBuffer");let N=[],C=[];for(;f.pos>0;)p(e.start||0,e.bufferStart||0,N,C,-1,0);let S=null!==(i=e.length)&&void 0!==i?i:N.length?C[0]+N[0].length:0;return new k(u[e.topID],N.reverse(),C.reverse(),S)}t(F,"hasChild"),t(K,"buildTree");const D=/* @__PURE__ */new WeakMap;function J(e,t){if(!e.isAnonymous||t instanceof v||t.type!=e)return 1;let r=D.get(t);if(null==r){r=1;for(let i of t.children){if(i.type!=e||!(i instanceof k)){r=1;break}r+=J(e,i)}D.set(t,r)}return r}function V(e,r,i,n,s,o,l,a,h){let f=0;for(let t=n;t<s;t++)f+=J(e,r[t]);let u=Math.ceil(1.5*f/8),d=[],c=[];function p(t,r,i,n,s){for(let l=i;l<n;){let i=l,a=r[l],f=J(e,t[l]);for(l++;l<n;l++){let r=J(e,t[l]);if(f+r>=u)break;f+=r}if(l==i+1){if(f>u){let e=t[i];p(e.children,e.positions,0,e.children.length,r[i]+s);continue}d.push(t[i])}else{let n=r[l-1]+t[l-1].length-a;d.push(V(e,t,r,i,l,a,n,null,h))}c.push(a+s-o)}}return t(p,"divide"),p(r,i,n,s,0),(a||h)(d,c,l)}t(J,"nodeSize"),t(V,"balanceRange");const $=class _Parser{startParse(e,t,r){return"string"==typeof e&&(e=new X(e)),r=r?r.length?r.map(e=>new s(e.from,e.to)):[new s(0,0)]:[new s(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let e=i.advance();if(e)return e}}};t($,"Parser");let G=$;const Q=class _StringInput{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};t(Q,"StringInput");let X=Q;new l({perNode:!0});let Y=0;const Z=class _Tag{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Y++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r="string"==typeof e?e:"?";if(e instanceof _Tag&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let i=new _Tag(r,[],null,[]);if(i.set.push(i),t)for(let n of t.set)i.set.push(n);return i}static defineModifier(e){let t=new ie(e);return e=>e.modified.indexOf(t)>-1?e:ie.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}};t(Z,"Tag");let ee=Z,te=0;const re=class _Modifier{constructor(e){this.name=e,this.instances=[],this.id=te++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(r=>r.base==e&&ne(t,r.modified));if(r)return r;let i=[],n=new ee(e.name,i,e,t);for(let o of t)o.instances.push(n);let s=se(t);for(let o of e.set)if(!o.modified.length)for(let e of s)i.push(_Modifier.get(o,e));return n}};t(re,"Modifier");let ie=re;function ne(e,t){return e.length==t.length&&e.every((e,r)=>e==t[r])}function se(e){let t=[[]];for(let r=0;r<e.length;r++)for(let i=0,n=t.length;i<n;i++)t.push(t[i].concat(e[r]));return t.sort((e,t)=>t.length-e.length)}function oe(e){let t=/* @__PURE__ */Object.create(null);for(let r in e){let i=e[r];Array.isArray(i)||(i=[i]);for(let e of r.split(" "))if(e){let r=[],n=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){n=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!i)throw new RangeError("Invalid path: "+e);if(r.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),t+=i[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){n=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);s=e.slice(t)}let o=r.length-1,l=r[o];if(!l)throw new RangeError("Invalid path: "+e);let a=new he(i,n,o>0?r.slice(0,o):null);t[l]=a.sort(t[l])}}return le.add(t)}t(ne,"sameArray"),t(se,"powerSet"),t(oe,"styleTags");const le=new l({combine(e,t){let r,i,n;for(;e||t;){if(!e||t&&e.depth>=t.depth?(n=t,t=t.next):(n=e,e=e.next),r&&r.mode==n.mode&&!n.context&&!r.context)continue;let s=new he(n.tags,n.mode,n.context);r?r.next=s:i=s,r=s}return i}}),ae=class _Rule{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};t(ae,"Rule");let he=ae;function fe(e,r){let i=/* @__PURE__ */Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)i[e.id]=t.class;else i[t.tag.id]=t.class;let{scope:n,all:s=null}=r||{};return{style:/* @__PURE__ */t(e=>{let t=s;for(let r of e)for(let e of r.set){let r=i[e.id];if(r){t=t?t+" "+r:r;break}}return t},"style"),scope:n}}function ue(e,t){let r=null;for(let i of e){let e=i.style(t);e&&(r=r?r+" "+e:e)}return r}function de(e,t,r,i=0,n=e.length){let s=new ge(i,Array.isArray(t)?t:[t],r);s.highlightRange(e.cursor(),i,n,"",s.highlighters),s.flush(n)}function ce(e,r,i,n,s,o=0,l=e.length){let a=o;function h(t,r){if(!(t<=a)){for(let i=e.slice(a,t),o=0;;){let e=i.indexOf("\n",o),t=e<0?i.length:e;if(t>o&&n(i.slice(o,t),r),e<0)break;s(),o=e+1}a=t}}t(h,"writeTo"),de(r,i,(e,t,r)=>{h(e,""),h(t,r)},o,l),h(l,"")}he.empty=new he([],2,null),t(fe,"tagHighlighter"),t(ue,"highlightTags"),t(de,"highlightTree"),t(ce,"highlightCode");const pe=class _HighlightBuilder{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,n){let{type:s,from:o,to:a}=e;if(o>=r||a<=t)return;s.isTop&&(n=this.highlighters.filter(e=>!e.scope||e.scope(s)));let h=i,f=me(e)||he.empty,u=ue(n,f.tags);if(u&&(h&&(h+=" "),h+=u,1==f.mode&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,o),h),f.opaque)return;let d=e.tree&&e.tree.prop(l.mounted);if(d&&d.overlay){let s=e.node.enter(d.overlay[0].from+o,1),l=this.highlighters.filter(e=>!e.scope||e.scope(d.tree.type)),f=e.firstChild();for(let u=0,c=o;;u++){let p=u<d.overlay.length?d.overlay[u]:null,g=p?p.from+o:a,m=Math.max(t,c),y=Math.min(r,g);if(m<y&&f)for(;e.from<y&&(this.highlightRange(e,m,y,i,n),this.startSpan(Math.min(y,e.to),h),!(e.to>=g)&&e.nextSibling()););if(!p||g>r)break;c=p.to+o,c>t&&(this.highlightRange(s.cursor(),Math.max(t,p.from+o),Math.min(r,c),"",l),this.startSpan(Math.min(r,c),h))}f&&e.parent()}else if(e.firstChild()){d&&(i="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,n),this.startSpan(Math.min(r,e.to),h)}}while(e.nextSibling());e.parent()}}};t(pe,"HighlightBuilder");let ge=pe;function me(e){let t=e.type.prop(le);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}t(me,"getStyleTags");const ye=ee.define,xe=ye(),be=ye(),ke=ye(be),we=ye(be),_e=ye(),Ne=ye(_e),ve=ye(_e),Ce=ye(),Se=ye(Ce),Be=ye(),Ae=ye(),Te=ye(),Ie=ye(Te),ze=ye(),Me={comment:xe,lineComment:ye(xe),blockComment:ye(xe),docComment:ye(xe),name:be,variableName:ye(be),typeName:ke,tagName:ye(ke),propertyName:we,attributeName:ye(we),className:ye(be),labelName:ye(be),namespace:ye(be),macroName:ye(be),literal:_e,string:Ne,docString:ye(Ne),character:ye(Ne),attributeValue:ye(Ne),number:ve,integer:ye(ve),float:ye(ve),bool:ye(_e),regexp:ye(_e),escape:ye(_e),color:ye(_e),url:ye(_e),keyword:Be,self:ye(Be),null:ye(Be),atom:ye(Be),unit:ye(Be),modifier:ye(Be),operatorKeyword:ye(Be),controlKeyword:ye(Be),definitionKeyword:ye(Be),moduleKeyword:ye(Be),operator:Ae,derefOperator:ye(Ae),arithmeticOperator:ye(Ae),logicOperator:ye(Ae),bitwiseOperator:ye(Ae),compareOperator:ye(Ae),updateOperator:ye(Ae),definitionOperator:ye(Ae),typeOperator:ye(Ae),controlOperator:ye(Ae),punctuation:Te,separator:ye(Te),bracket:Ie,angleBracket:ye(Ie),squareBracket:ye(Ie),paren:ye(Ie),brace:ye(Ie),content:Ce,heading:Se,heading1:ye(Se),heading2:ye(Se),heading3:ye(Se),heading4:ye(Se),heading5:ye(Se),heading6:ye(Se),contentSeparator:ye(Ce),list:ye(Ce),quote:ye(Ce),emphasis:ye(Ce),strong:ye(Ce),link:ye(Ce),monospace:ye(Ce),strikethrough:ye(Ce),inserted:ye(),deleted:ye(),changed:ye(),invalid:ye(),meta:ze,documentMeta:ye(ze),annotation:ye(ze),processingInstruction:ye(ze),definition:ee.defineModifier("definition"),constant:ee.defineModifier("constant"),function:ee.defineModifier("function"),standard:ee.defineModifier("standard"),local:ee.defineModifier("local"),special:ee.defineModifier("special")};for(let Le in Me){let e=Me[Le];e instanceof ee&&(e.name=Le)}fe([{tag:Me.link,class:"tok-link"},{tag:Me.heading,class:"tok-heading"},{tag:Me.emphasis,class:"tok-emphasis"},{tag:Me.strong,class:"tok-strong"},{tag:Me.keyword,class:"tok-keyword"},{tag:Me.atom,class:"tok-atom"},{tag:Me.bool,class:"tok-bool"},{tag:Me.url,class:"tok-url"},{tag:Me.labelName,class:"tok-labelName"},{tag:Me.inserted,class:"tok-inserted"},{tag:Me.deleted,class:"tok-deleted"},{tag:Me.literal,class:"tok-literal"},{tag:Me.string,class:"tok-string"},{tag:Me.number,class:"tok-number"},{tag:[Me.regexp,Me.escape,Me.special(Me.string)],class:"tok-string2"},{tag:Me.variableName,class:"tok-variableName"},{tag:Me.local(Me.variableName),class:"tok-variableName tok-local"},{tag:Me.definition(Me.variableName),class:"tok-variableName tok-definition"},{tag:Me.special(Me.variableName),class:"tok-variableName2"},{tag:Me.definition(Me.propertyName),class:"tok-propertyName tok-definition"},{tag:Me.typeName,class:"tok-typeName"},{tag:Me.namespace,class:"tok-namespace"},{tag:Me.className,class:"tok-className"},{tag:Me.macroName,class:"tok-macroName"},{tag:Me.propertyName,class:"tok-propertyName"},{tag:Me.operator,class:"tok-operator"},{tag:Me.comment,class:"tok-comment"},{tag:Me.meta,class:"tok-meta"},{tag:Me.invalid,class:"tok-invalid"},{tag:Me.punctuation,class:"tok-punctuation"}]);const Oe=fe([{tag:Me.link,class:"tok-link"},{tag:[Me.heading,Me.strong],class:"tok-strong"},{tag:Me.emphasis,class:"tok-emphasis"},{tag:[Me.keyword,Me.typeName],class:"tok-keyword"},{tag:Me.atom,class:"tok-atom"},{tag:[Me.bool,Me.escape,Me.number],class:"tok-literal"},{tag:[Me.string,Me.regexp],class:"tok-string"},{tag:Me.comment,class:"tok-comment"},{tag:Me.invalid,class:"tok-invalid"},{tag:Me.variableName,class:"tok-variable"},{tag:[Me.definition(Me.variableName),Me.className,Me.propertyName],class:"tok-definition"},{tag:Me.meta,class:"tok-meta"}]);async function Ee(e){const r=Re(e);if(!r)return;const i=e.parentElement;i&&(i.dataset.language=r);const n=await je(r);if(!n)return;const s=e.ownerDocument,o=e.textContent,l=n.parse(o);for(;e.lastChild;)e.lastChild.remove();function a(t,r){let i=s.createTextNode(t);if(r){const e=s.createElement("span");e.appendChild(i),e.className=r,i=e}e.appendChild(i)}function h(){e.appendChild(s.createTextNode("\n"))}t(a,"emit"),t(h,"emitBreak"),ce(o,l,Oe,a,h)}async function je(e){if("node"===e)e="ts";switch(e){case"js":case"ts":case"jsx":return(await import("./index-DhnKOdJS.js")).parser.configure({dialect:e});case"python":return(await import("./index-1YyP-Dd5.js")).parser;case"html":return(await import("./index-BhLIDOLl.js")).parser;case"css":return(await import("./index-1Npg2JBP.js")).parser;case"md":return(await import("./index-CtJBv-UX.js")).parser}}function Re(e){const t=[...e.classList].find(e=>e.startsWith("language-"))?.slice(9)?.toLowerCase();switch(t){case"javascript":return"js";case"typescript":return"ts";case"py":return"python";case"markdown":return"md"}return t}t(Ee,"highlight"),t(je,"getParser"),t(Re,"getLanguage");const Pe=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,highlight:Ee,highlighter:Oe},Symbol.toStringTag,{value:"Module"}));export{r as D,y as I,p as N,G as P,k as T,d as a,l as b,ee as c,Pe as h,oe as s,Me as t};
3
- //# sourceMappingURL=highlight-D4GZSyte.js.map
2
+ /* @__PURE__ */Object.create(null),0,8);const c=class _NodeSet{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let t of e){let e=t(r);if(e){i||(i=Object.assign({},r.props));let t=e[1],n=e[0];n.combine&&n.id in i&&(t=n.combine(i[n.id],t)),i[n.id]=t}}t.push(i?new d(r.name,i,r.id,r.flags):r)}return new _NodeSet(t)}};t(c,"NodeSet");let p=c;const g=/* @__PURE__ */new WeakMap,m=/* @__PURE__ */new WeakMap;var y,x;(x=y||(y={}))[x.ExcludeBuffers=1]="ExcludeBuffers",x[x.IncludeAnonymous=2]="IncludeAnonymous",x[x.IgnoreMounts=4]="IgnoreMounts",x[x.IgnoreOverlays=8]="IgnoreOverlays",x[x.EnterBracketed=16]="EnterBracketed";const b=class _Tree{constructor(e,t,r,i,n){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,n&&n.length){this.props=/* @__PURE__ */Object.create(null);for(let[e,t]of n)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=h.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let e=r.toString();e&&(t&&(t+=","),t+=e)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new q(this.topNode,e)}cursorAt(e,t=0,r=0){let i=g.get(this)||this.topNode,n=new q(i);return n.moveTo(e,t),g.set(this,n._tree),n}get topNode(){return new I(this,0,0,null)}resolve(e,t=0){let r=S(g.get(this)||this.topNode,e,t,!1);return g.set(this,r),r}resolveInner(e,t=0){let r=S(m.get(this)||this.topNode,e,t,!0);return m.set(this,r),r}resolveStack(e,t=0){return H(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:n=this.length}=e,s=e.mode||0,o=(s&y.IncludeAnonymous)>0;for(let l=this.cursor(s|y.IncludeAnonymous);;){let e=!1;if(l.from<=n&&l.to>=i&&(!o&&l.type.isAnonymous||!1!==t(l))){if(l.firstChild())continue;e=!0}for(;e&&r&&(o||!l.type.isAnonymous)&&r(l),!l.nextSibling();){if(!l.parent())return;e=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:V(d.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,r)=>new _Tree(this.type,e,t,r,this.propValues),e.makeTree||((e,t,r)=>new _Tree(d.none,e,t,r)))}static build(e){return K(e)}};t(b,"Tree");let k=b;k.empty=new k(d.none,[],[],0);const w=class _FlatBufferCursor{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new _FlatBufferCursor(this.buffer,this.index)}};t(w,"FlatBufferCursor");let _=w;const N=class _TreeBuffer{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return d.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],n=i.name;if(/\W/.test(n)&&!i.isError&&(n=JSON.stringify(n)),r==(e+=4))return n;let s=[];for(;e<r;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,t,r,i,n){let{buffer:s}=this,o=-1;for(let l=e;l!=t&&!(C(n,i,s[l+1],s[l+2])&&(o=l,r>0));l=s[l+3]);return o}slice(e,t,r){let i=this.buffer,n=new Uint16Array(t-e),s=0;for(let o=e,l=0;o<t;){n[l++]=i[o++],n[l++]=i[o++]-r;let t=n[l++]=i[o++]-r;n[l++]=i[o++]-e,s=Math.max(s,t)}return new _TreeBuffer(n,s,this.set)}};t(N,"TreeBuffer");let v=N;function C(e,t,r,i){switch(e){case-2:return r<t;case-1:return i>=t&&r<t;case 0:return r<t&&i>t;case 1:return r<=t&&i>t;case 2:return i>t;case 4:return!0}}function S(e,t,r,i){for(var n;e.from==e.to||(r<1?e.from>=t:e.from>t)||(r>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof I&&e.index<0?null:e.parent;if(!t)return e;e=t}let s=i?0:y.IgnoreOverlays;if(i)for(let o=e,l=o.parent;l;o=l,l=o.parent)o instanceof I&&o.index<0&&(null===(n=l.enter(t,r,s))||void 0===n?void 0:n.from)!=o.from&&(e=l);for(;;){let i=e.enter(t,r,s);if(!i)return e;e=i}}t(C,"checkSide"),t(S,"resolveNode");const B=class _BaseNode{cursor(e=0){return new q(this,e)}getChild(e,t=null,r=null){let i=z(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return z(this,e,t,r)}resolve(e,t=0){return S(this,e,t,!1)}resolveInner(e,t=0){return S(this,e,t,!0)}matchContext(e){return M(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let e=t.lastChild;if(!e||e.to!=t.to)break;e.type.isError&&e.from==e.to?(r=t,t=e.prevSibling):t=e}return r}get node(){return this}get next(){return this.parent}};t(B,"BaseNode");let A=B;const T=class _TreeNode extends A{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,n=0){var s;for(let o=this;;){for(let{children:l,positions:a}=o._tree,f=t>0?l.length:-1;e!=f;e+=t){let f=l[e],u=a[e]+o.from;if(n&y.EnterBracketed&&f instanceof k&&null===(null===(s=h.get(f))||void 0===s?void 0:s.overlay)&&(u>=r||u+f.length<=r)||C(i,r,u,u+f.length))if(f instanceof v){if(n&y.ExcludeBuffers)continue;let s=f.findChild(0,f.buffer.length,t,r-u,i);if(s>-1)return new R(new E(o,f,e,u),null,s)}else if(n&y.IncludeAnonymous||!f.type.isAnonymous||F(f)){let s;if(!(n&y.IgnoreMounts)&&(s=h.get(f))&&!s.overlay)return new _TreeNode(s.tree,u,e,o);let l=new _TreeNode(f,u,e,o);return n&y.IncludeAnonymous||!l.type.isAnonymous?l:l.nextChild(t<0?f.children.length-1:0,t,r,i,n)}}if(n&y.IncludeAnonymous||!o.type.isAnonymous)return null;if(e=o.index>=0?o.index+t:t<0?-1:o._parent._tree.children.length,o=o._parent,!o)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let i;if(!(r&y.IgnoreOverlays)&&(i=h.get(this._tree))&&i.overlay){let n=e-this.from,s=r&y.EnterBracketed&&i.bracketed;for(let{from:e,to:r}of i.overlay)if((t>0||s?e<=n:e<n)&&(t<0||s?r>=n:r>n))return new _TreeNode(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};t(T,"TreeNode");let I=T;function z(e,t,r,i){let n=e.cursor(),s=[];if(!n.firstChild())return s;if(null!=r)for(let o=!1;!o;)if(o=n.type.is(r),!n.nextSibling())return s;for(;;){if(null!=i&&n.type.is(i))return s;if(n.type.is(t)&&s.push(n.node),!n.nextSibling())return null==i?s:[]}}function M(e,t,r=t.length-1){for(let i=e;r>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[r]&&t[r]!=i.name)return!1;r--}}return!0}t(z,"getChildren"),t(M,"matchNodeContext");const O=class _BufferContext{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}};t(O,"BufferContext");let E=O;const j=class _BufferNode extends A{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return n<0?null:new _BufferNode(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,r=0){if(r&y.ExcludeBuffers)return null;let{buffer:i}=this.context,n=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new _BufferNode(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new _BufferNode(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new _BufferNode(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,n=r.buffer[this.index+3];if(n>i){let s=r.buffer[this.index+1];e.push(r.slice(i,n,s)),t.push(0)}return new k(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};t(j,"BufferNode");let R=j;function P(e){if(!e.length)return null;let t=0,r=e[0];for(let s=1;s<e.length;s++){let i=e[s];(i.from>r.from||i.to<r.to)&&(r=i,t=s)}let i=r instanceof I&&r.index<0?null:r.parent,n=e.slice();return i?n[t]=i:n.splice(t,1),new W(n,r)}t(P,"iterStack");const L=class _StackIterator{constructor(e,t){this.heads=e,this.node=t}get next(){return P(this.heads)}};t(L,"StackIterator");let W=L;function H(e,t,r){let i=e.resolveInner(t,r),n=null;for(let s=i instanceof I?i:i.context.parent;s;s=s.parent)if(s.index<0){let e=s.parent;(n||(n=[i])).push(e.resolve(t,r)),s=e}else{let e=h.get(s.tree);if(e&&e.overlay&&e.overlay[0].from<=t&&e.overlay[e.overlay.length-1].to>=t){let o=new I(e.tree,e.overlay[0].from+s.from,-1,s);(n||(n=[i])).push(S(o,t,r,!1))}}return n?P(n):i}t(H,"stackIterator");const U=class _TreeCursor{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~y.EnterBracketed,e instanceof I)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return!!e&&(e instanceof I?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,n=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return!(n<0)&&(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?!(r&y.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&y.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&y.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let e=r<0?0:this.stack[r]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(e)}return r<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;({index:t,_parent:r}=r))if(t>-1)for(let i=t+e,n=e<0?-1:r._tree.children.length;i!=n;i+=e){let e=r._tree.children[i];if(this.mode&y.IncludeAnonymous||e instanceof v||!e.type.isAnonymous||F(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,r=n+1;break e}i=this.stack[--n]}for(let i=r;i<this.stack.length;i++)t=new R(this.buffer,t,this.stack[i]);return this.bufferNode=new R(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return M(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,n=this.stack.length-1;i>=0;n--){if(n<0)return M(this._tree,e,i);let s=r[t.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}};t(U,"TreeCursor");let q=U;function F(e){return e.children.some(e=>e instanceof v||!e.type.isAnonymous||F(e))}function K(e){var i;let{buffer:n,nodeSet:s,maxBufferLength:o=r,reused:a=[],minRepeatType:h=s.types.length}=e,f=Array.isArray(n)?new _(n,n.length):n,u=s.types,d=0,c=0;function p(e,t,r,i,n,l){let{id:k,start:_,end:N,size:C}=f,S=c,B=d;if(C<0){if(f.next(),-1==C){let t=a[k];return r.push(t),void i.push(_-e)}if(-3==C)return void(d=k);if(-4==C)return void(c=k);throw new RangeError(`Unrecognized record size: ${C}`)}let A,T,I=u[k],z=_-e;if(N-_<=o&&(T=b(f.pos-t,n))){let t=new Uint16Array(T.size-T.skip),r=f.pos-T.size,i=t.length;for(;f.pos>r;)i=w(T.start,t,i);A=new v(t,N-T.start,s),z=T.start-e}else{let e=f.pos-C;f.next();let t=[],r=[],i=k>=h?k:-1,n=0,s=N;for(;f.pos>e;)i>=0&&f.id==i&&f.size>=0?(f.end<=s-o&&(y(t,r,_,n,f.end,s,i,S,B),n=t.length,s=f.end),f.next()):l>2500?g(_,e,t,r):p(_,e,t,r,i,l+1);if(i>=0&&n>0&&n<t.length&&y(t,r,_,n,_,s,i,S,B),t.reverse(),r.reverse(),i>-1&&n>0){let e=m(I,B);A=V(I,t,r,0,t.length,0,N-_,e,e)}else A=x(I,t,r,N-_,S-N,B)}r.push(A),i.push(z)}function g(e,t,r,i){let n=[],l=0,a=-1;for(;f.pos>t;){let{id:e,start:t,end:r,size:i}=f;if(i>4)f.next();else{if(a>-1&&t<a)break;a<0&&(a=r-o),n.push(e,t,r),l++,f.next()}}if(l){let t=new Uint16Array(4*l),o=n[n.length-2];for(let e=n.length-3,r=0;e>=0;e-=3)t[r++]=n[e],t[r++]=n[e+1]-o,t[r++]=n[e+2]-o,t[r++]=r;r.push(new v(t,n[2]-o,s)),i.push(o-e)}}function m(e,t){return(r,i,n)=>{let s,o,a=0,h=r.length-1;if(h>=0&&(s=r[h])instanceof k){if(!h&&s.type==e&&s.length==n)return s;(o=s.prop(l.lookAhead))&&(a=i[h]+s.length+o)}return x(e,r,i,n,a,t)}}function y(e,t,r,i,n,o,l,a,h){let f=[],u=[];for(;e.length>i;)f.push(e.pop()),u.push(t.pop()+r-n);e.push(x(s.types[l],f,u,o-n,a-o,h)),t.push(n-r)}function x(e,t,r,i,n,s,o){if(s){let e=[l.contextHash,s];o=o?[e].concat(o):[e]}if(n>25){let e=[l.lookAhead,n];o=o?[e].concat(o):[e]}return new k(e,t,r,i,o)}function b(e,t){let r=f.fork(),i=0,n=0,s=0,l=r.end-o,a={size:0,start:0,skip:0};e:for(let o=r.pos-e;r.pos>o;){let e=r.size;if(r.id==t&&e>=0){a.size=i,a.start=n,a.skip=s,s+=4,i+=4,r.next();continue}let f=r.pos-e;if(e<0||f<o||r.start<l)break;let u=r.id>=h?4:0,d=r.start;for(r.next();r.pos>f;){if(r.size<0){if(-3!=r.size&&-4!=r.size)break e;u+=4}else r.id>=h&&(u+=4);r.next()}n=d,i+=e,s+=u}return(t<0||i==e)&&(a.size=i,a.start=n,a.skip=s),a.size>4?a:void 0}function w(e,t,r){let{id:i,start:n,end:s,size:o}=f;if(f.next(),o>=0&&i<h){let l=r;if(o>4){let i=f.pos-(o-4);for(;f.pos>i;)r=w(e,t,r)}t[--r]=l,t[--r]=s-e,t[--r]=n-e,t[--r]=i}else-3==o?d=i:-4==o&&(c=i);return r}t(p,"takeNode"),t(g,"takeFlatNode"),t(m,"makeBalanced"),t(y,"makeRepeatLeaf"),t(x,"makeTree"),t(b,"findBufferSize"),t(w,"copyToBuffer");let N=[],C=[];for(;f.pos>0;)p(e.start||0,e.bufferStart||0,N,C,-1,0);let S=null!==(i=e.length)&&void 0!==i?i:N.length?C[0]+N[0].length:0;return new k(u[e.topID],N.reverse(),C.reverse(),S)}t(F,"hasChild"),t(K,"buildTree");const D=/* @__PURE__ */new WeakMap;function J(e,t){if(!e.isAnonymous||t instanceof v||t.type!=e)return 1;let r=D.get(t);if(null==r){r=1;for(let i of t.children){if(i.type!=e||!(i instanceof k)){r=1;break}r+=J(e,i)}D.set(t,r)}return r}function V(e,r,i,n,s,o,l,a,h){let f=0;for(let t=n;t<s;t++)f+=J(e,r[t]);let u=Math.ceil(1.5*f/8),d=[],c=[];function p(t,r,i,n,s){for(let l=i;l<n;){let i=l,a=r[l],f=J(e,t[l]);for(l++;l<n;l++){let r=J(e,t[l]);if(f+r>=u)break;f+=r}if(l==i+1){if(f>u){let e=t[i];p(e.children,e.positions,0,e.children.length,r[i]+s);continue}d.push(t[i])}else{let n=r[l-1]+t[l-1].length-a;d.push(V(e,t,r,i,l,a,n,null,h))}c.push(a+s-o)}}return t(p,"divide"),p(r,i,n,s,0),(a||h)(d,c,l)}t(J,"nodeSize"),t(V,"balanceRange");const $=class _Parser{startParse(e,t,r){return"string"==typeof e&&(e=new X(e)),r=r?r.length?r.map(e=>new s(e.from,e.to)):[new s(0,0)]:[new s(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let e=i.advance();if(e)return e}}};t($,"Parser");let G=$;const Q=class _StringInput{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};t(Q,"StringInput");let X=Q;new l({perNode:!0});let Y=0;const Z=class _Tag{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Y++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r="string"==typeof e?e:"?";if(e instanceof _Tag&&(t=e),null==t?void 0:t.base)throw new Error("Can not derive from a modified tag");let i=new _Tag(r,[],null,[]);if(i.set.push(i),t)for(let n of t.set)i.set.push(n);return i}static defineModifier(e){let t=new ie(e);return e=>e.modified.indexOf(t)>-1?e:ie.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}};t(Z,"Tag");let ee=Z,te=0;const re=class _Modifier{constructor(e){this.name=e,this.instances=[],this.id=te++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(r=>r.base==e&&ne(t,r.modified));if(r)return r;let i=[],n=new ee(e.name,i,e,t);for(let o of t)o.instances.push(n);let s=se(t);for(let o of e.set)if(!o.modified.length)for(let e of s)i.push(_Modifier.get(o,e));return n}};t(re,"Modifier");let ie=re;function ne(e,t){return e.length==t.length&&e.every((e,r)=>e==t[r])}function se(e){let t=[[]];for(let r=0;r<e.length;r++)for(let i=0,n=t.length;i<n;i++)t.push(t[i].concat(e[r]));return t.sort((e,t)=>t.length-e.length)}function oe(e){let t=/* @__PURE__ */Object.create(null);for(let r in e){let i=e[r];Array.isArray(i)||(i=[i]);for(let e of r.split(" "))if(e){let r=[],n=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){n=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!i)throw new RangeError("Invalid path: "+e);if(r.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),t+=i[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){n=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);s=e.slice(t)}let o=r.length-1,l=r[o];if(!l)throw new RangeError("Invalid path: "+e);let a=new he(i,n,o>0?r.slice(0,o):null);t[l]=a.sort(t[l])}}return le.add(t)}t(ne,"sameArray"),t(se,"powerSet"),t(oe,"styleTags");const le=new l({combine(e,t){let r,i,n;for(;e||t;){if(!e||t&&e.depth>=t.depth?(n=t,t=t.next):(n=e,e=e.next),r&&r.mode==n.mode&&!n.context&&!r.context)continue;let s=new he(n.tags,n.mode,n.context);r?r.next=s:i=s,r=s}return i}}),ae=class _Rule{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};t(ae,"Rule");let he=ae;function fe(e,r){let i=/* @__PURE__ */Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)i[e.id]=t.class;else i[t.tag.id]=t.class;let{scope:n,all:s=null}=r||{};return{style:/* @__PURE__ */t(e=>{let t=s;for(let r of e)for(let e of r.set){let r=i[e.id];if(r){t=t?t+" "+r:r;break}}return t},"style"),scope:n}}function ue(e,t){let r=null;for(let i of e){let e=i.style(t);e&&(r=r?r+" "+e:e)}return r}function de(e,t,r,i=0,n=e.length){let s=new ge(i,Array.isArray(t)?t:[t],r);s.highlightRange(e.cursor(),i,n,"",s.highlighters),s.flush(n)}function ce(e,r,i,n,s,o=0,l=e.length){let a=o;function h(t,r){if(!(t<=a)){for(let i=e.slice(a,t),o=0;;){let e=i.indexOf("\n",o),t=e<0?i.length:e;if(t>o&&n(i.slice(o,t),r),e<0)break;s(),o=e+1}a=t}}t(h,"writeTo"),de(r,i,(e,t,r)=>{h(e,""),h(t,r)},o,l),h(l,"")}he.empty=new he([],2,null),t(fe,"tagHighlighter"),t(ue,"highlightTags"),t(de,"highlightTree"),t(ce,"highlightCode");const pe=class _HighlightBuilder{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,n){let{type:s,from:o,to:a}=e;if(o>=r||a<=t)return;s.isTop&&(n=this.highlighters.filter(e=>!e.scope||e.scope(s)));let h=i,f=me(e)||he.empty,u=ue(n,f.tags);if(u&&(h&&(h+=" "),h+=u,1==f.mode&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,o),h),f.opaque)return;let d=e.tree&&e.tree.prop(l.mounted);if(d&&d.overlay){let s=e.node.enter(d.overlay[0].from+o,1),l=this.highlighters.filter(e=>!e.scope||e.scope(d.tree.type)),f=e.firstChild();for(let u=0,c=o;;u++){let p=u<d.overlay.length?d.overlay[u]:null,g=p?p.from+o:a,m=Math.max(t,c),y=Math.min(r,g);if(m<y&&f)for(;e.from<y&&(this.highlightRange(e,m,y,i,n),this.startSpan(Math.min(y,e.to),h),!(e.to>=g)&&e.nextSibling()););if(!p||g>r)break;c=p.to+o,c>t&&(this.highlightRange(s.cursor(),Math.max(t,p.from+o),Math.min(r,c),"",l),this.startSpan(Math.min(r,c),h))}f&&e.parent()}else if(e.firstChild()){d&&(i="");do{if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,n),this.startSpan(Math.min(r,e.to),h)}}while(e.nextSibling());e.parent()}}};t(pe,"HighlightBuilder");let ge=pe;function me(e){let t=e.type.prop(le);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}t(me,"getStyleTags");const ye=ee.define,xe=ye(),be=ye(),ke=ye(be),we=ye(be),_e=ye(),Ne=ye(_e),ve=ye(_e),Ce=ye(),Se=ye(Ce),Be=ye(),Ae=ye(),Te=ye(),Ie=ye(Te),ze=ye(),Me={comment:xe,lineComment:ye(xe),blockComment:ye(xe),docComment:ye(xe),name:be,variableName:ye(be),typeName:ke,tagName:ye(ke),propertyName:we,attributeName:ye(we),className:ye(be),labelName:ye(be),namespace:ye(be),macroName:ye(be),literal:_e,string:Ne,docString:ye(Ne),character:ye(Ne),attributeValue:ye(Ne),number:ve,integer:ye(ve),float:ye(ve),bool:ye(_e),regexp:ye(_e),escape:ye(_e),color:ye(_e),url:ye(_e),keyword:Be,self:ye(Be),null:ye(Be),atom:ye(Be),unit:ye(Be),modifier:ye(Be),operatorKeyword:ye(Be),controlKeyword:ye(Be),definitionKeyword:ye(Be),moduleKeyword:ye(Be),operator:Ae,derefOperator:ye(Ae),arithmeticOperator:ye(Ae),logicOperator:ye(Ae),bitwiseOperator:ye(Ae),compareOperator:ye(Ae),updateOperator:ye(Ae),definitionOperator:ye(Ae),typeOperator:ye(Ae),controlOperator:ye(Ae),punctuation:Te,separator:ye(Te),bracket:Ie,angleBracket:ye(Ie),squareBracket:ye(Ie),paren:ye(Ie),brace:ye(Ie),content:Ce,heading:Se,heading1:ye(Se),heading2:ye(Se),heading3:ye(Se),heading4:ye(Se),heading5:ye(Se),heading6:ye(Se),contentSeparator:ye(Ce),list:ye(Ce),quote:ye(Ce),emphasis:ye(Ce),strong:ye(Ce),link:ye(Ce),monospace:ye(Ce),strikethrough:ye(Ce),inserted:ye(),deleted:ye(),changed:ye(),invalid:ye(),meta:ze,documentMeta:ye(ze),annotation:ye(ze),processingInstruction:ye(ze),definition:ee.defineModifier("definition"),constant:ee.defineModifier("constant"),function:ee.defineModifier("function"),standard:ee.defineModifier("standard"),local:ee.defineModifier("local"),special:ee.defineModifier("special")};for(let Le in Me){let e=Me[Le];e instanceof ee&&(e.name=Le)}fe([{tag:Me.link,class:"tok-link"},{tag:Me.heading,class:"tok-heading"},{tag:Me.emphasis,class:"tok-emphasis"},{tag:Me.strong,class:"tok-strong"},{tag:Me.keyword,class:"tok-keyword"},{tag:Me.atom,class:"tok-atom"},{tag:Me.bool,class:"tok-bool"},{tag:Me.url,class:"tok-url"},{tag:Me.labelName,class:"tok-labelName"},{tag:Me.inserted,class:"tok-inserted"},{tag:Me.deleted,class:"tok-deleted"},{tag:Me.literal,class:"tok-literal"},{tag:Me.string,class:"tok-string"},{tag:Me.number,class:"tok-number"},{tag:[Me.regexp,Me.escape,Me.special(Me.string)],class:"tok-string2"},{tag:Me.variableName,class:"tok-variableName"},{tag:Me.local(Me.variableName),class:"tok-variableName tok-local"},{tag:Me.definition(Me.variableName),class:"tok-variableName tok-definition"},{tag:Me.special(Me.variableName),class:"tok-variableName2"},{tag:Me.definition(Me.propertyName),class:"tok-propertyName tok-definition"},{tag:Me.typeName,class:"tok-typeName"},{tag:Me.namespace,class:"tok-namespace"},{tag:Me.className,class:"tok-className"},{tag:Me.macroName,class:"tok-macroName"},{tag:Me.propertyName,class:"tok-propertyName"},{tag:Me.operator,class:"tok-operator"},{tag:Me.comment,class:"tok-comment"},{tag:Me.meta,class:"tok-meta"},{tag:Me.invalid,class:"tok-invalid"},{tag:Me.punctuation,class:"tok-punctuation"}]);const Oe=fe([{tag:Me.link,class:"tok-link"},{tag:[Me.heading,Me.strong],class:"tok-strong"},{tag:Me.emphasis,class:"tok-emphasis"},{tag:[Me.keyword,Me.typeName],class:"tok-keyword"},{tag:Me.atom,class:"tok-atom"},{tag:[Me.bool,Me.escape,Me.number],class:"tok-literal"},{tag:[Me.string,Me.regexp],class:"tok-string"},{tag:Me.comment,class:"tok-comment"},{tag:Me.invalid,class:"tok-invalid"},{tag:Me.variableName,class:"tok-variable"},{tag:[Me.definition(Me.variableName),Me.className,Me.propertyName],class:"tok-definition"},{tag:Me.meta,class:"tok-meta"}]);async function Ee(e){const r=Re(e);if(!r)return;const i=e.parentElement;i&&(i.dataset.language=r);const n=await je(r);if(!n)return;const s=e.ownerDocument,o=e.textContent,l=n.parse(o);for(;e.lastChild;)e.lastChild.remove();function a(t,r){let i=s.createTextNode(t);if(r){const e=s.createElement("span");e.appendChild(i),e.className=r,i=e}e.appendChild(i)}function h(){e.appendChild(s.createTextNode("\n"))}t(a,"emit"),t(h,"emitBreak"),ce(o,l,Oe,a,h)}async function je(e){if("node"===e)e="ts";switch(e){case"js":case"ts":case"jsx":return(await import("./index-DXoy8fy6.js")).parser.configure({dialect:e});case"python":return(await import("./index-DX-wW7fi.js")).parser;case"html":return(await import("./index-BEJybQP2.js")).parser;case"css":return(await import("./index-B_MA3pnO.js")).parser;case"md":return(await import("./index-Bx3I5Hd1.js")).parser}}function Re(e){const t=[...e.classList].find(e=>e.startsWith("language-"))?.slice(9)?.toLowerCase();switch(t){case"javascript":return"js";case"typescript":return"ts";case"py":return"python";case"markdown":return"md"}return t}t(Ee,"highlight"),t(je,"getParser"),t(Re,"getLanguage");const Pe=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,highlight:Ee,highlighter:Oe},Symbol.toStringTag,{value:"Module"}));export{r as D,y as I,p as N,G as P,k as T,d as a,l as b,ee as c,Pe as h,oe as s,Me as t};
3
+ //# sourceMappingURL=highlight-DMD1f-AU.js.map