UNPKG

js-yaml

Version:

YAML 1.2 parser and serializer

1,444 lines 75 kB
/*! js-yaml 5.2.0 https://github.com/nodeca/js-yaml @license MIT */ //#region src/tag.ts var e = Symbol("NOT_RESOLVED"), t = Symbol("MERGE_KEY"); function n(e, t) { var n, r, i, a, o, s; return { tagName: e, nodeKind: "scalar", implicit: (n = t.implicit) == null ? !1 : n, matchByTagPrefix: (r = t.matchByTagPrefix) == null ? !1 : r, implicitFirstChars: (i = t.implicitFirstChars) == null ? null : i, resolve: t.resolve, identify: (a = t.identify) == null ? null : a, represent: (o = t.represent) == null ? ((e) => String(e)) : o, representTagName: (s = t.representTagName) == null ? null : s }; } function r(e, t) { var n, r, i, a, o; let s = t.finalize === void 0; return { tagName: e, nodeKind: "sequence", implicit: !1, matchByTagPrefix: (n = t.matchByTagPrefix) == null ? !1 : n, create: t.create, addItem: t.addItem, finalize: (r = t.finalize) == null ? ((e) => e) : r, carrierIsResult: s, identify: (i = t.identify) == null ? null : i, represent: (a = t.represent) == null ? ((e) => e) : a, representTagName: (o = t.representTagName) == null ? null : o }; } function i(e, t) { var n, r, i, a, o; let s = t.finalize === void 0; return { tagName: e, nodeKind: "mapping", implicit: !1, matchByTagPrefix: (n = t.matchByTagPrefix) == null ? !1 : n, create: t.create, addPair: t.addPair, has: t.has, keys: t.keys, get: t.get, finalize: (r = t.finalize) == null ? ((e) => e) : r, carrierIsResult: s, identify: (i = t.identify) == null ? null : i, represent: (a = t.represent) == null ? ((e) => e) : a, representTagName: (o = t.representTagName) == null ? null : o }; } //#endregion //#region src/tag/scalar/str.ts var a = n("tag:yaml.org,2002:str", { resolve: (e) => e, identify: (e) => typeof e == "string" }), o = [ "", "~", "null", "Null", "NULL" ], s = n("tag:yaml.org,2002:null", { implicit: !0, implicitFirstChars: [ "", "~", "n", "N" ], resolve: (t) => o.indexOf(t) === -1 ? e : null, identify: (e) => e === null, represent: () => "null" }), c = n("tag:yaml.org,2002:null", { implicit: !0, implicitFirstChars: ["n"], resolve: (t, n) => t === "null" || n && t === "" ? null : e, identify: (e) => e === null, represent: () => "null" }), l = [ "", "~", "null", "Null", "NULL" ], u = n("tag:yaml.org,2002:null", { implicit: !0, implicitFirstChars: [ "", "~", "n", "N" ], resolve: (t) => l.indexOf(t) === -1 ? e : null, identify: (e) => e === null, represent: () => "null" }), d = [ "true", "True", "TRUE" ], f = [ "false", "False", "FALSE" ], p = n("tag:yaml.org,2002:bool", { implicit: !0, implicitFirstChars: [ "t", "T", "f", "F" ], resolve: (t) => d.indexOf(t) === -1 ? f.indexOf(t) === -1 ? e : !1 : !0, identify: (e) => Object.prototype.toString.call(e) === "[object Boolean]", represent: (e) => e ? "true" : "false" }), m = ["true"], h = ["false"], ee = n("tag:yaml.org,2002:bool", { implicit: !0, implicitFirstChars: ["t", "f"], resolve: (t) => m.indexOf(t) === -1 ? h.indexOf(t) === -1 ? e : !1 : !0, identify: (e) => Object.prototype.toString.call(e) === "[object Boolean]", represent: (e) => e ? "true" : "false" }), te = [ "true", "True", "TRUE", "y", "Y", "yes", "Yes", "YES", "on", "On", "ON" ], ne = [ "false", "False", "FALSE", "n", "N", "no", "No", "NO", "off", "Off", "OFF" ], re = n("tag:yaml.org,2002:bool", { implicit: !0, implicitFirstChars: [ "y", "Y", "n", "N", "t", "T", "f", "F", "o", "O" ], resolve: (t) => te.indexOf(t) === -1 ? ne.indexOf(t) === -1 ? e : !1 : !0, identify: (e) => Object.prototype.toString.call(e) === "[object Boolean]", represent: (e) => e ? "true" : "false" }), ie = /* @__PURE__ */ RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"), ae = /* @__PURE__ */ RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$"); function oe(e) { let t = e, n = 1; return (t[0] === "-" || t[0] === "+") && (t[0] === "-" && (n = -1), t = t.slice(1)), t.startsWith("0b") ? n * parseInt(t.slice(2), 2) : t.startsWith("0o") ? n * parseInt(t.slice(2), 8) : t.startsWith("0x") ? n * parseInt(t.slice(2), 16) : n * parseInt(t, 10); } function se(t, n) { if (n) { if (!ae.test(t)) return e; } else if (!ie.test(t)) return e; let r = oe(t); return Number.isFinite(r) ? r : e; } var ce = n("tag:yaml.org,2002:int", { implicit: !0, implicitFirstChars: [ "-", "+", ..."0123456789" ], resolve: se, identify: (e) => Number.isInteger(e) && !Object.is(e, -0) && e.toString(10).indexOf("e") < 0, represent: (e) => e.toString(10) }), le = /* @__PURE__ */ RegExp("^-?(?:0|[1-9][0-9]*)$"), ue = /* @__PURE__ */ RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$"); function de(e) { let t = e, n = 1; return (t[0] === "-" || t[0] === "+") && (t[0] === "-" && (n = -1), t = t.slice(1)), t.startsWith("0b") ? n * parseInt(t.slice(2), 2) : t.startsWith("0o") ? n * parseInt(t.slice(2), 8) : t.startsWith("0x") ? n * parseInt(t.slice(2), 16) : n * parseInt(t, 10); } function fe(t, n) { if (n) { if (!ue.test(t)) return e; } else if (!le.test(t)) return e; let r = de(t); return Number.isFinite(r) ? r : e; } var pe = n("tag:yaml.org,2002:int", { implicit: !0, implicitFirstChars: ["-", ..."0123456789"], resolve: fe, identify: (e) => Number.isInteger(e) && !Object.is(e, -0) && e.toString(10).indexOf("e") < 0, represent: (e) => e.toString(10) }), me = /* @__PURE__ */ RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$"); function he(e) { let t = e.replace(/_/g, ""), n = 1; if ((t[0] === "-" || t[0] === "+") && (t[0] === "-" && (n = -1), t = t.slice(1)), t.startsWith("0b")) return n * parseInt(t.slice(2), 2); if (t.startsWith("0x")) return n * parseInt(t.slice(2), 16); if (t.includes(":")) { let e = 0; for (let n of t.split(":")) e = e * 60 + Number(n); return n * e; } return t !== "0" && t[0] === "0" ? n * parseInt(t, 8) : n * parseInt(t, 10); } function ge(t) { if (!me.test(t)) return e; let n = he(t); return Number.isFinite(n) ? n : e; } var _e = n("tag:yaml.org,2002:int", { implicit: !0, implicitFirstChars: [ "-", "+", ..."0123456789" ], resolve: ge, identify: (e) => Number.isInteger(e) && !Object.is(e, -0) && e.toString(10).indexOf("e") < 0, represent: (e) => e.toString(10) }), ve = /* @__PURE__ */ RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"), ye = /* @__PURE__ */ RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"); function be(t) { if (!ve.test(t)) return e; let n = t.toLowerCase(), r = n[0] === "-" ? -1 : 1; if ("+-".includes(n[0]) && (n = n.slice(1)), n === ".inf") return r === 1 ? Infinity : -Infinity; if (n === ".nan") return NaN; let i = r * parseFloat(n); return Number.isFinite(i) || ye.test(t) ? i : e; } function xe(e) { if (isNaN(e)) return ".nan"; if (e === Infinity) return ".inf"; if (e === -Infinity) return "-.inf"; if (Object.is(e, -0)) return "-0.0"; let t = e.toString(10); return /^[-+]?[0-9]+e/.test(t) ? t.replace("e", ".e") : t; } var Se = n("tag:yaml.org,2002:float", { implicit: !0, implicitFirstChars: [ "-", "+", ".", ..."0123456789" ], resolve: be, identify: (e) => typeof e == "number" && (!Number.isInteger(e) || Object.is(e, -0) || e.toString(10).indexOf("e") >= 0), represent: xe }), Ce = /* @__PURE__ */ RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$"), we = /* @__PURE__ */ RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"); function Te(t, n) { if (n) { if (!we.test(t)) return e; let n = t.toLowerCase(), r = n[0] === "-" ? -1 : 1; if ("+-".includes(n[0]) && (n = n.slice(1)), n === ".inf") return r === 1 ? Infinity : -Infinity; if (n === ".nan") return NaN; let i = r * parseFloat(n); return Number.isFinite(i) ? i : e; } if (!Ce.test(t)) return e; let r = Number(t); return Number.isFinite(r) ? r : e; } function Ee(e) { if (isNaN(e)) return ".nan"; if (e === Infinity) return ".inf"; if (e === -Infinity) return "-.inf"; if (Object.is(e, -0)) return "-0.0"; let t = e.toString(10); return /^[-+]?[0-9]+e/.test(t) ? t.replace("e", ".e") : t; } var De = n("tag:yaml.org,2002:float", { implicit: !0, implicitFirstChars: ["-", ..."0123456789"], resolve: Te, identify: (e) => typeof e == "number" && (!Number.isInteger(e) || Object.is(e, -0) || e.toString(10).indexOf("e") >= 0), represent: Ee }), Oe = /* @__PURE__ */ RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"), ke = /* @__PURE__ */ RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"); function Ae(t) { if (!Oe.test(t)) return e; let n = t.toLowerCase().replace(/_/g, ""), r = n[0] === "-" ? -1 : 1; if ("+-".includes(n[0]) && (n = n.slice(1)), n === ".inf") return r === 1 ? Infinity : -Infinity; if (n === ".nan") return NaN; let i = 0; if (n.includes(":")) { for (let e of n.split(":")) i = i * 60 + Number(e); i *= r; } else i = r * parseFloat(n); return Number.isFinite(i) || ke.test(t) ? i : e; } function je(e) { if (isNaN(e)) return ".nan"; if (e === Infinity) return ".inf"; if (e === -Infinity) return "-.inf"; if (Object.is(e, -0)) return "-0.0"; let t = e.toString(10); return /^[-+]?[0-9]+e/.test(t) ? t.replace("e", ".e") : t; } var Me = n("tag:yaml.org,2002:float", { implicit: !0, implicitFirstChars: [ "-", "+", ".", ..."0123456789" ], resolve: Ae, identify: (e) => typeof e == "number" && (!Number.isInteger(e) || Object.is(e, -0) || e.toString(10).indexOf("e") >= 0), represent: je }), Ne = n("tag:yaml.org,2002:merge", { implicit: !0, implicitFirstChars: ["<"], resolve: (n, r) => n === "<<" || r && n === "" ? t : e }), Pe = /^[A-Za-z0-9+/]*={0,2}$/; function Fe(t) { let n = t.replace(/\s/g, ""); if (n.length % 4 != 0 || !Pe.test(n)) return e; let r = atob(n), i = new Uint8Array(r.length); for (let e = 0; e < r.length; e++) i[e] = r.charCodeAt(e); return i; } function Ie(e) { let t = ""; for (let n = 0; n < e.length; n++) t += String.fromCharCode(e[n]); return btoa(t); } var Le = n("tag:yaml.org,2002:binary", { resolve: Fe, identify: (e) => Object.prototype.toString.call(e) === "[object Uint8Array]", represent: Ie }), Re = /* @__PURE__ */ RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"), ze = /* @__PURE__ */ RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"); function Be(t) { let n = Re.exec(t); if (n === null && (n = ze.exec(t)), n === null) return e; let r = +n[1], i = n[2] - 1, a = +n[3]; if (!n[4]) { let t = new Date(Date.UTC(r, i, a)); return t.getUTCFullYear() !== r || t.getUTCMonth() !== i || t.getUTCDate() !== a ? e : t; } let o = +n[4], s = +n[5], c = +n[6], l = 0; if (o > 23 || s > 59 || c > 59) return e; if (n[7]) { let e = n[7].slice(0, 3); for (; e.length < 3;) e += "0"; l = +e; } let u = new Date(Date.UTC(r, i, a, o, s, c, l)); if (u.getUTCFullYear() !== r || u.getUTCMonth() !== i || u.getUTCDate() !== a) return e; if (n[9]) { let t = +n[10], r = +(n[11] || 0); if (t > 23 || r > 59) return e; let i = (t * 60 + r) * 6e4; u.setTime(u.getTime() - (n[9] === "-" ? -i : i)); } return u; } var Ve = n("tag:yaml.org,2002:timestamp", { implicit: !0, implicitFirstChars: [..."0123456789"], resolve: Be, identify: (e) => e instanceof Date, represent: (e) => e.toISOString() }), He = r("tag:yaml.org,2002:seq", { create: () => [], addItem: (e, t) => { e.push(t); }, identify: Array.isArray }), Ue = r("tag:yaml.org,2002:omap", { create: () => [], addItem: (e, t) => { if (Object.prototype.toString.call(t) !== "[object Object]") return "cannot resolve an ordered map item"; let n = t, r = Object.keys(n); if (r.length !== 1) return "cannot resolve an ordered map item"; for (let t of e) if (Object.prototype.hasOwnProperty.call(t, r[0])) return "cannot resolve an ordered map item"; return e.push(n), ""; } }), We = r("tag:yaml.org,2002:pairs", { create: () => [], addItem: (e, t) => { if (t instanceof Map) return t.size === 1 ? (e.push(t.entries().next().value), "") : "cannot resolve a pairs item"; if (Object.prototype.toString.call(t) !== "[object Object]") return "cannot resolve a pairs item"; let n = t, r = Object.keys(n); return r.length === 1 ? (e.push([r[0], n[r[0]]]), "") : "cannot resolve a pairs item"; } }); //#endregion //#region src/common/object.ts function Ge(e) { if (typeof e != "object" || !e || Array.isArray(e)) return !1; let t = Object.getPrototypeOf(e); return t === null || t === Object.prototype; } function Ke(e, t) { let n = {}; for (let r of t) e[r] !== void 0 && (n[r] = e[r]); return n; } //#endregion //#region src/tag/mapping/map.ts var qe = i("tag:yaml.org,2002:map", { create: () => ({}), identify: Ge, represent: (e) => { let t = /* @__PURE__ */ new Map(); for (let n of Object.keys(e)) t.set(n, e[n]); return t; }, addPair: (e, t, n) => { if (typeof t == "object" && t) return "object-based map does not support complex keys"; let r = String(t); return r === "__proto__" ? Object.defineProperty(e, r, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = n, ""; }, has: (e, t) => typeof t == "object" && t ? !1 : Object.prototype.hasOwnProperty.call(e, String(t)), keys: (e) => Object.keys(e), get: (e, t) => e[String(t)] }), Je = i("tag:yaml.org,2002:set", { create: () => /* @__PURE__ */ new Set(), identify: (e) => e instanceof Set, represent: (e) => { let t = /* @__PURE__ */ new Map(); for (let n of e) t.set(n, null); return t; }, addPair: (e, t, n) => n === null ? (e.add(t), "") : "cannot resolve a set item", has: (e, t) => e.has(t), keys: (e) => e.keys(), get: () => null }); //#endregion //#region \0@oxc-project+runtime@0.132.0/helpers/typeof.js function g(e) { "@babel/helpers - typeof"; return g = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, g(e); } //#endregion //#region \0@oxc-project+runtime@0.132.0/helpers/toPrimitive.js function Ye(e, t) { if (g(e) != "object" || !e) return e; var n = e[Symbol.toPrimitive]; if (n !== void 0) { var r = n.call(e, t || "default"); if (g(r) != "object") return r; throw TypeError("@@toPrimitive must return a primitive value."); } return (t === "string" ? String : Number)(e); } //#endregion //#region \0@oxc-project+runtime@0.132.0/helpers/toPropertyKey.js function Xe(e) { var t = Ye(e, "string"); return g(t) == "symbol" ? t : t + ""; } //#endregion //#region \0@oxc-project+runtime@0.132.0/helpers/defineProperty.js function _(e, t, n) { return (t = Xe(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } //#endregion //#region src/schema.ts function Ze() { return { scalar: {}, sequence: {}, mapping: {} }; } function Qe() { return { scalar: [], sequence: [], mapping: [] }; } function $e(e) { let t = []; for (let n of e) { let e = t.length; for (let r = 0; r < t.length; r++) { let i = t[r]; if (i.nodeKind === n.nodeKind && i.tagName === n.tagName && i.matchByTagPrefix === n.matchByTagPrefix) { e = r; break; } } t[e] = n; } return t; } var v = class e { constructor(e) { _(this, "tags", void 0), _(this, "implicitScalarTags", void 0), _(this, "implicitScalarByFirstChar", void 0), _(this, "implicitScalarAnyFirstChar", void 0), _(this, "defaultScalarTag", void 0), _(this, "defaultSequenceTag", void 0), _(this, "defaultMappingTag", void 0), _(this, "exact", void 0), _(this, "prefix", void 0); let t = $e(e), n = [], r = Ze(), i = Qe(); for (let e of t) { if (e.nodeKind === "scalar" && e.implicit) { if (e.matchByTagPrefix) throw Error("Implicit scalar tags cannot match by tag prefix"); n.push(e); } switch (e.nodeKind) { case "scalar": e.matchByTagPrefix ? i.scalar.push(e) : r.scalar[e.tagName] = e; break; case "sequence": e.matchByTagPrefix ? i.sequence.push(e) : r.sequence[e.tagName] = e; break; case "mapping": e.matchByTagPrefix ? i.mapping.push(e) : r.mapping[e.tagName] = e; break; } } let a = n.filter((e) => e.implicitFirstChars === null), o = /* @__PURE__ */ new Set(); for (let e of n) if (e.implicitFirstChars !== null) for (let t of e.implicitFirstChars) o.add(t); let s = /* @__PURE__ */ new Map(); for (let e of o) s.set(e, n.filter((t) => t.implicitFirstChars === null || t.implicitFirstChars.indexOf(e) !== -1)); let c = r.scalar["tag:yaml.org,2002:str"]; if (!c) throw Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)"); this.tags = t, this.implicitScalarTags = n, this.implicitScalarByFirstChar = s, this.implicitScalarAnyFirstChar = a, this.defaultScalarTag = c, this.defaultSequenceTag = r.sequence["tag:yaml.org,2002:seq"], this.defaultMappingTag = r.mapping["tag:yaml.org,2002:map"], this.exact = r, this.prefix = i; } withTags(...t) { let n = []; for (let e of t) n = n.concat(e); return new e([...this.tags, ...n]); } }, et = new v([ a, He, qe ]), tt = new v([ ...et.tags, c, ee, pe, De ]), nt = new v([ ...et.tags, s, p, ce, Se ]), rt = new v([ ...et.tags, u, re, _e, Me, Ve, Ne, Le, Ue, We, Je ]), it = i("tag:yaml.org,2002:map", { create: () => /* @__PURE__ */ new Map(), addPair: (e, t, n) => (e.set(t, n), ""), has: (e, t) => e.has(t), keys: (e) => e.keys(), get: (e, t) => e.get(t), identify: (e) => e instanceof Map || Ge(e), represent: (e) => { if (e instanceof Map) return e; let t = /* @__PURE__ */ new Map(), n = e; for (let e of Object.keys(n)) t.set(e, n[e]); return t; } }); //#endregion //#region src/tag/mapping/legacy_map.ts function at(e) { if (Array.isArray(e)) { let t = Array.prototype.slice.call(e); for (let e = 0; e < t.length; e++) { if (Array.isArray(t[e])) return null; typeof t[e] == "object" && Object.prototype.toString.call(t[e]) === "[object Object]" && (t[e] = "[object Object]"); } return String(t); } return typeof e == "object" && Object.prototype.toString.call(e) === "[object Object]" ? "[object Object]" : String(e); } var ot = i("tag:yaml.org,2002:map", { create: () => ({}), identify: Ge, represent: (e) => { let t = /* @__PURE__ */ new Map(); for (let n of Object.keys(e)) t.set(n, e[n]); return t; }, addPair: (e, t, n) => { let r = at(t); return r === null ? "nested arrays are not supported inside keys" : (r === "__proto__" ? Object.defineProperty(e, r, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = n, ""); }, has: (e, t) => { let n = at(t); return n !== null && Object.prototype.hasOwnProperty.call(e, n); }, keys: (e) => Object.keys(e), get: (e, t) => e[String(t)] }); //#endregion //#region \0@oxc-project+runtime@0.132.0/helpers/objectSpread2.js function st(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var r = Object.getOwnPropertySymbols(e); t && (r = r.filter(function(t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), n.push.apply(n, r); } return n; } function y(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t] == null ? {} : arguments[t]; t % 2 ? st(Object(n), !0).forEach(function(t) { _(e, t, n[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : st(Object(n)).forEach(function(t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)); }); } return e; } //#endregion //#region src/common/snippet.ts var ct = { maxLength: 79, indent: 1, linesBefore: 3, linesAfter: 2 }; function lt(e, t, n, r, i) { let a = "", o = "", s = Math.floor(i / 2) - 1; return r - t > s && (a = " ... ", t = r - s + a.length), n - r > s && (o = " ...", n = r + s - o.length), { str: a + e.slice(t, n).replace(/\t/g, "→") + o, pos: r - t + a.length }; } function ut(e, t) { return " ".repeat(Math.max(t - e.length, 0)) + e; } function dt(e, t) { if (!e.buffer) return null; let n = y(y({}, ct), t), r = /\r?\n|\r|\0/g, i = [0], a = [], o, s = -1; for (; o = r.exec(e.buffer);) a.push(o.index), i.push(o.index + o[0].length), e.position <= o.index && s < 0 && (s = i.length - 2); s < 0 && (s = i.length - 1); let c = "", l = Math.min(e.line + n.linesAfter, a.length).toString().length, u = n.maxLength - (n.indent + l + 3); for (let t = 1; t <= n.linesBefore && !(s - t < 0); t++) { let r = lt(e.buffer, i[s - t], a[s - t], e.position - (i[s] - i[s - t]), u); c = `${" ".repeat(n.indent)}${ut((e.line - t + 1).toString(), l)} | ${r.str}\n${c}`; } let d = lt(e.buffer, i[s], a[s], e.position, u); c += `${" ".repeat(n.indent)}${ut((e.line + 1).toString(), l)} | ${d.str}\n`, c += `${"-".repeat(n.indent + l + 3 + d.pos)}^\n`; for (let t = 1; t <= n.linesAfter && !(s + t >= a.length); t++) { let r = lt(e.buffer, i[s + t], a[s + t], e.position - (i[s] - i[s + t]), u); c += `${" ".repeat(n.indent)}${ut((e.line + t + 1).toString(), l)} | ${r.str}\n`; } return c.replace(/\n$/, ""); } //#endregion //#region src/common/exception.ts function ft(e, t) { let n = ""; return e.mark ? (e.mark.name && (n += `in "${e.mark.name}" `), n += `(${e.mark.line + 1}:${e.mark.column + 1})`, !t && e.mark.snippet && (n += `\n\n${e.mark.snippet}`), `${e.reason} ${n}`) : e.reason; } var b = class extends Error { constructor(e, t) { super(), _(this, "reason", void 0), _(this, "mark", void 0), this.name = "YAMLException", this.reason = e, this.mark = t, this.message = ft(this, !1), Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); } toString(e) { return `${this.name}: ${ft(this, e)}`; } }; function pt(e, t, n, r = "") { let i = 0, a = 0; for (let n = 0; n < t; n++) { let t = e.charCodeAt(n); t === 10 ? (i++, a = n + 1) : t === 13 && (i++, e.charCodeAt(n + 1) === 10 && n++, a = n + 1); } let o = { name: r, buffer: e, position: t, line: i, column: t - a }; throw o.snippet = dt(o), new b(n, o); } //#endregion //#region src/parser/events.ts var mt = 1, ht = 2, gt = 3, _t = 4, vt = 5, yt = 6, bt = 1, xt = 2, St = 3, Ct = 4, wt = 5, Tt = 1, Et = 2, Dt = 1, Ot = 2, kt = 3, At = -1; function jt(e) { switch (e) { case 48: return "\0"; case 97: return "\x07"; case 98: return "\b"; case 116: return " "; case 9: return " "; case 110: return "\n"; case 118: return "\v"; case 102: return "\f"; case 114: return "\r"; case 101: return "\x1B"; case 32: return " "; case 34: return "\""; case 47: return "/"; case 92: return "\\"; case 78: return "…"; case 95: return "\xA0"; case 76: return "\u2028"; case 80: return "\u2029"; default: return ""; } } var Mt = Array(256), Nt = Array(256); for (let e = 0; e < 256; e++) Mt[e] = +!!jt(e), Nt[e] = jt(e); function Pt(e) { return e <= 65535 ? String.fromCharCode(e) : String.fromCharCode((e - 65536 >> 10) + 55296, (e - 65536 & 1023) + 56320); } function Ft(e) { return e >= 48 && e <= 57 ? e - 48 : (e | 32) - 97 + 10; } function It(e) { return e === 120 ? 2 : e === 117 ? 4 : 8; } function Lt(e, t, n) { let r = 0; for (; t < n;) { let n = e.charCodeAt(t); if (n === 10) r++, t++; else if (n === 13) r++, t++, e.charCodeAt(t) === 10 && t++; else if (n === 32 || n === 9) t++; else break; } return { position: t, breaks: r }; } function Rt(e) { return e === 1 ? " " : "\n".repeat(e - 1); } function zt(e, t, n) { let r = "", i = t, a = t, o = t; for (; i < n;) { let t = e.charCodeAt(i); if (t === 10 || t === 13) { r += e.slice(a, o); let t = Lt(e, i, n); r += Rt(t.breaks), i = a = o = t.position; } else i++, t !== 32 && t !== 9 && (o = i); } return r + e.slice(a, o); } function Bt(e, t, n) { let r = "", i = t, a = t, o = t; for (; i < n;) { let t = e.charCodeAt(i); if (t === 39) r += e.slice(a, i) + "'", i += 2, a = o = i; else if (t === 10 || t === 13) { r += e.slice(a, o); let t = Lt(e, i, n); r += Rt(t.breaks), i = a = o = t.position; } else i++, t !== 32 && t !== 9 && (o = i); } return r + e.slice(a, n); } function Vt(e, t, n) { let r = "", i = t, a = t, o = t; for (; i < n;) { let t = e.charCodeAt(i); if (t === 92) { r += e.slice(a, i), i++; let t = e.charCodeAt(i); if (t === 10 || t === 13) i = Lt(e, i, n).position; else if (t < 256 && Mt[t]) r += Nt[t], i++; else { let n = It(t), a = 0; for (; n > 0; n--) { i++; let t = Ft(e.charCodeAt(i)); a = (a << 4) + t; } r += Pt(a), i++; } a = o = i; } else if (t === 10 || t === 13) { r += e.slice(a, o); let t = Lt(e, i, n); r += Rt(t.breaks), i = a = o = t.position; } else i++, t !== 32 && t !== 9 && (o = i); } return r + e.slice(a, n); } function Ht(e, t, n, r, i, a) { let o = r < 0 ? 0 : r, s = e.slice(t, n).replace(/\r\n?/g, "\n"), c = s === "" ? [] : (s.endsWith("\n") ? s.slice(0, -1) : s).split("\n"), l = "", u = !1, d = 0, f = !1; for (let e of c) { let t = 0; for (; t < o && e.charCodeAt(t) === 32;) t++; if (r < 0 || t >= e.length) { d++; continue; } let n = e.slice(o), i = n.charCodeAt(0); a ? i === 32 || i === 9 ? (f = !0, l += "\n".repeat(u ? 1 + d : d)) : f ? (f = !1, l += "\n".repeat(d + 1)) : d === 0 ? u && (l += " ") : l += "\n".repeat(d) : l += "\n".repeat(u ? 1 + d : d), l += n, u = !0, d = 0; } return i === 3 ? l += "\n".repeat(u ? 1 + d : d) : i !== 2 && u && (l += "\n"), l; } function Ut(e, t) { if (t.valueStart === At) return ""; let { valueStart: n, valueEnd: r } = t; if (t.fast) return e.slice(n, r); switch (t.style) { case 2: return Bt(e, n, r); case 3: return Vt(e, n, r); case 4: return Ht(e, n, r, t.indent, t.chomping, !1); case 5: return Ht(e, n, r, t.indent, t.chomping, !0); default: return zt(e, n, r); } } //#endregion //#region src/common/tagname.ts var Wt = { "!": "!", "!!": "tag:yaml.org,2002:" }; function Gt(e) { return encodeURI(e).replace(/!/g, "%21"); } function Kt(e, t) { var n, r; if (e.startsWith("!<") && e.endsWith(">")) return decodeURIComponent(e.slice(2, -1)); let i = e.indexOf("!", 1), a = i === -1 ? "!" : e.slice(0, i + 1), o = (n = (r = t == null ? void 0 : t[a]) == null ? Wt[a] : r) == null ? a : n; return decodeURIComponent(o) + decodeURIComponent(e.slice(a.length)); } function qt(e) { let t = e; return t.charCodeAt(0) === 33 ? (t = t.slice(1), `!${Gt(t)}`) : t.slice(0, 18) === "tag:yaml.org,2002:" ? `!!${Gt(t.slice(18))}` : `!<${Gt(t)}>`; } //#endregion //#region src/parser/constructor.ts var x = -1, Jt = { filename: "", schema: nt, json: !1, maxTotalMergeKeys: 1e4, maxAliases: -1 }; function Yt(e) { return "tagStart" in e && e.tagStart !== x ? e.tagStart : "anchorStart" in e && e.anchorStart !== x ? e.anchorStart : "valueStart" in e && e.valueStart !== x ? e.valueStart : "start" in e ? e.start : 0; } function S(e, t) { pt(e.source, e.position, t, e.filename); } function Xt(e, t, n, r) { try { return n.finalize(r); } catch (n) { if (n instanceof b) throw n; pt(e.source, t, n instanceof Error ? n.message : String(n), e.filename); } } function Zt(e, t, n) { let r = e[n]; if (r) return r; for (let e of t) if (n.startsWith(e.tagName)) return e; } function Qt(e, t, n, r, i) { let a = Zt(t, n, r); if (a) return a; S(e, `unknown ${i} tag !<${r}>`); } function $t(t, n) { let r = Ut(t.source, n), i = n.tagStart === x ? "" : t.source.slice(n.tagStart, n.tagEnd), a = t.schema.defaultScalarTag; if (i !== "") { var o; if (i === "!") return { value: r, tag: a }; let n = Kt(i, t.tagHandlers), s = Zt(t.schema.exact.scalar, t.schema.prefix.scalar, n); if (s) { let i = s.resolve(r, !0, n); return i === e && S(t, `cannot resolve a node with !<${n}> explicit tag`), { value: i, tag: s }; } let c = (o = Zt(t.schema.exact.mapping, t.schema.prefix.mapping, n)) == null ? Zt(t.schema.exact.sequence, t.schema.prefix.sequence, n) : o; if (c) { r !== "" && S(t, `cannot resolve a node with !<${n}> explicit tag`); let e = c.create(n); return { value: c.carrierIsResult ? e : Xt(t, t.position, c, e), tag: c }; } S(t, `unknown scalar tag !<${n}>`); } if (n.style === 1) { var s; let n = (s = t.schema.implicitScalarByFirstChar.get(r.charAt(0))) == null ? t.schema.implicitScalarAnyFirstChar : s; for (let t of n) { let n = t.resolve(r, !1, t.tagName); if (n !== e) return { value: n, tag: t }; } } return { value: a.resolve(r, !1, a.tagName), tag: a }; } function en(e, t, n, r, i, a) { let o = t.tagStart === x ? "" : e.source.slice(t.tagStart, t.tagEnd), s = o === "" || o === "!" ? i : Kt(o, e.tagHandlers); return { tagName: s, tag: Qt(e, n, r, s, a) }; } function tn(e) { return e.nodeKind === "mapping"; } function nn(e, t, n, r) { for (let a of r.keys(n)) { var i; if (e.maxTotalMergeKeys !== -1 && ++e.totalMergeKeys > e.maxTotalMergeKeys && S(e, `merge keys exceeded maxTotalMergeKeys (${e.maxTotalMergeKeys})`), t.tag.has(t.value, a)) continue; let o = t.tag.addPair(t.value, a, r.get(n, a)); o && S(e, o), ((i = t.overridable) == null ? t.overridable = /* @__PURE__ */ new Set() : i).add(a); } } function rn(e, t, n, r) { if (e.position = t.keyPosition, tn(r)) nn(e, t, n, r); else if (r.nodeKind === "sequence" && Array.isArray(n)) for (let r of n) nn(e, t, r, t.tag); else S(e, "cannot merge mappings; the provided source object is unacceptable"); } function an(e, n, r, i, a) { var o, s; if (e.position = n.keyPosition, r === t) { rn(e, n, i, a); return; } !e.json && n.tag.has(n.value, r) && !((o = n.overridable) != null && o.has(r)) && S(e, "duplicated mapping key"); let c = n.tag.addPair(n.value, r, i); c && S(e, c), (s = n.overridable) == null || s.delete(r); } function on(e, t, n) { let r = e.frames[e.frames.length - 1]; if (r.kind === "document") r.value = t, r.hasValue = !0; else if (r.kind === "sequence") { r.merge && (tn(n) || S(e, "cannot merge mappings; the provided source object is unacceptable")); let i = r.tag.addItem(r.value, t, r.index++); i && S(e, i); } else if (r.hasKey) { let i = r.key; r.key = void 0, r.hasKey = !1, an(e, r, i, t, n); } else r.key = t, r.keyPosition = e.position, r.hasKey = !0; } function sn(e, t, n, r, i) { if (t.anchorStart !== x) { let a = { value: n, tag: r, isValueFinal: i }; return e.anchors.set(e.source.slice(t.anchorStart, t.anchorEnd), a), a; } return null; } function cn(e, n) { let r = y(y(y({}, Jt), n), {}, { events: e, documents: [], eventIndex: 0, position: 0, frames: [], anchors: /* @__PURE__ */ new Map(), tagHandlers: Object.create(null), totalMergeKeys: 0, aliasCount: 0 }); for (; r.eventIndex < r.events.length;) { let e = r.events[r.eventIndex++]; switch (r.position = Yt(e), e.type) { case 1: r.anchors = /* @__PURE__ */ new Map(), r.aliasCount = 0, r.tagHandlers = Object.create(null); for (let t of e.directives) t.kind === "tag" && (r.tagHandlers[t.handle] = t.prefix); r.frames.push({ kind: "document", position: r.position, value: void 0, hasValue: !1 }); break; case 4: { let { value: t, tag: n } = $t(r, e); sn(r, e, t, n, !0), on(r, t, n); break; } case 2: { let n = en(r, e, r.schema.exact.sequence, r.schema.prefix.sequence, "tag:yaml.org,2002:seq", "sequence"), i = n.tag.create(n.tagName), a = sn(r, e, i, n.tag, n.tag.carrierIsResult), o = r.frames[r.frames.length - 1], s = o !== void 0 && o.kind === "mapping" && o.hasKey && o.key === t; r.frames.push({ kind: "sequence", position: r.position, value: i, tag: n.tag, anchor: a, index: 0, merge: s }); break; } case 3: { let t = en(r, e, r.schema.exact.mapping, r.schema.prefix.mapping, "tag:yaml.org,2002:map", "mapping"), n = t.tag.create(t.tagName), i = sn(r, e, n, t.tag, t.tag.carrierIsResult); r.frames.push({ kind: "mapping", position: r.position, value: n, tag: t.tag, anchor: i, key: void 0, keyPosition: r.position, hasKey: !1, overridable: null }); break; } case 5: { r.maxAliases !== -1 && ++r.aliasCount > r.maxAliases && S(r, `aliases exceeded maxAliases (${r.maxAliases})`); let t = r.source.slice(e.anchorStart, e.anchorEnd), n = r.anchors.get(t); n || S(r, `unidentified alias "${t}"`), n.isValueFinal || S(r, `recursive alias "${t}" is not supported for tag ${n.tag.tagName} because it uses finalize()`), on(r, n.value, n.tag); break; } case 6: { let e = r.frames.pop(); if (e.kind === "document") r.documents.push(e.value); else { let t = e.tag.carrierIsResult ? e.value : Xt(r, e.position, e.tag, e.value); e.anchor && (e.anchor.value = t, e.anchor.isValueFinal = !0), on(r, t, e.tag); } break; } } } return r.documents; } //#endregion //#region src/parser/parser.ts var C = -1, ln = Object.prototype.hasOwnProperty, w = 1, un = 2, dn = 3, fn = 4, pn = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, mn = /[,\[\]{}]/, hn = /^(?:!|!!|![0-9A-Za-z-]+!)$/, gn = String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`, _n = String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`, vn = RegExp(`^(?:${gn})*$`), yn = RegExp(`^(?:${_n})+$`), bn = RegExp(`^(?:!(?:${gn})*|${_n}(?:${gn})*)$`), xn = { filename: "", maxDepth: 100 }; function Sn(e, t, n) { e.events.push({ type: 1, explicitStart: t, explicitEnd: n, directives: e.directives }); } function Cn(e, t, n, r, i, a, o) { e.events.push({ type: 2, start: t, anchorStart: n, anchorEnd: r, tagStart: i, tagEnd: a, style: o }); } function T(e, t, n, r, i, a, o) { e.events.push({ type: 3, start: t, anchorStart: n, anchorEnd: r, tagStart: i, tagEnd: a, style: o }); } function E(e, t, n, r, i, a, o, s, c = 1, l = -1, u = !1) { e.events.push({ type: 4, valueStart: t, valueEnd: n, anchorStart: r, anchorEnd: i, tagStart: a, tagEnd: o, style: s, chomping: c, indent: l, fast: u }); } function wn(e, t, n) { e.events.push({ type: 5, anchorStart: t, anchorEnd: n }); } function D(e) { e.events.push({ type: 6 }); } function O(e) { E(e, C, C, C, C, C, C, 1); } function Tn() { return { anchorStart: C, anchorEnd: C, tagStart: C, tagEnd: C }; } function k(e) { return { position: e.position, line: e.line, lineStart: e.lineStart, lineIndent: e.lineIndent, firstTabInLine: e.firstTabInLine, eventsLength: e.events.length }; } function A(e, t) { e.position = t.position, e.line = t.line, e.lineStart = t.lineStart, e.lineIndent = t.lineIndent, e.firstTabInLine = t.firstTabInLine, e.events.length = t.eventsLength; } function j(e, t) { pt(e.input.slice(0, e.length), e.position, t, e.filename); } function M(e) { return e === 10 || e === 13; } function N(e) { return e === 9 || e === 32; } function P(e) { return N(e) || M(e); } function F(e) { return e === 0 || P(e); } function I(e) { return e === 44 || e === 91 || e === 93 || e === 123 || e === 125; } function En(e) { return e >= 48 && e <= 57 ? e - 48 : -1; } function Dn(e) { if (e >= 48 && e <= 57) return e - 48; let t = e | 32; return t >= 97 && t <= 102 ? t - 97 + 10 : -1; } function On(e) { return e === 120 ? 2 : e === 117 ? 4 : e === 85 ? 8 : 0; } function kn(e) { return e === 48 || e === 97 || e === 98 || e === 116 || e === 9 || e === 110 || e === 118 || e === 102 || e === 114 || e === 101 || e === 32 || e === 34 || e === 47 || e === 92 || e === 78 || e === 95 || e === 76 || e === 80; } function An(e) { e.input.charCodeAt(e.position) === 10 ? e.position++ : (e.position++, e.input.charCodeAt(e.position) === 10 && e.position++), e.line++, e.lineStart = e.position, e.lineIndent = 0, e.firstTabInLine = -1; } function L(e, t) { let n = 0, r = e.input.charCodeAt(e.position), i = e.position === e.lineStart || P(e.input.charCodeAt(e.position - 1)); for (; r !== 0;) { for (; N(r);) i = !0, r === 9 && e.firstTabInLine === -1 && (e.firstTabInLine = e.position), r = e.input.charCodeAt(++e.position); if (t && i && r === 35) do r = e.input.charCodeAt(++e.position); while (!M(r) && r !== 0); if (!M(r)) break; for (An(e), n++, i = !0, r = e.input.charCodeAt(e.position); r === 32;) e.lineIndent++, r = e.input.charCodeAt(++e.position); } return n; } function R(e, t = e.position) { let n = e.input.charCodeAt(t); if ((n === 45 || n === 46) && n === e.input.charCodeAt(t + 1) && n === e.input.charCodeAt(t + 2)) { let n = e.input.charCodeAt(t + 3); return n === 0 || P(n); } return !1; } function jn(e) { let t = e.input.charCodeAt(e.position); for (; t !== 0 && !M(t);) t = e.input.charCodeAt(++e.position); } function Mn(e, t, n) { pn.test(e.input.slice(t, n)) && j(e, "the stream contains non-printable characters"); } function Nn(e, t, n) { if (e.input.charCodeAt(e.position) !== 33) return !1; t.tagStart !== C && j(e, "duplication of a tag property"); let r = e.position, i = !1, a = !1, o = "!", s = e.input.charCodeAt(++e.position); s === 60 ? (i = !0, s = e.input.charCodeAt(++e.position)) : s === 33 && (a = !0, o = "!!", s = e.input.charCodeAt(++e.position)); let c = e.position, l; if (i) { for (; s !== 0 && s !== 62;) s = e.input.charCodeAt(++e.position); s !== 62 && j(e, "unexpected end of the stream within a verbatim tag"), l = e.input.slice(c, e.position), e.position++; } else { for (; s !== 0 && !P(s) && !(n && I(s));) s === 33 && (a ? j(e, "tag suffix cannot contain exclamation marks") : (o = e.input.slice(c - 1, e.position + 1), hn.test(o) || j(e, "named tag handle cannot contain such characters"), a = !0, c = e.position + 1)), s = e.input.charCodeAt(++e.position); l = e.input.slice(c, e.position), mn.test(l) && j(e, "tag suffix cannot contain flow indicator characters"); } return l && !(i ? vn.test(l) : yn.test(l)) && j(e, `tag name cannot contain such characters: ${l}`), !i && o !== "!" && o !== "!!" && !ln.call(e.tagHandlers, o) && j(e, `undeclared tag handle "${o}"`), t.tagStart = r, t.tagEnd = e.position, !0; } function Pn(e, t) { if (e.input.charCodeAt(e.position) !== 38) return !1; t.anchorStart !== C && j(e, "duplication of an anchor property"), e.position++; let n = e.position; for (; e.input.charCodeAt(e.position) !== 0 && !P(e.input.charCodeAt(e.position)) && !I(e.input.charCodeAt(e.position));) e.position++; return e.position === n && j(e, "name of an anchor node must contain at least one character"), t.anchorStart = n, t.anchorEnd = e.position, !0; } function Fn(e, t) { if (e.input.charCodeAt(e.position) !== 42) return !1; (t.anchorStart !== C || t.tagStart !== C) && j(e, "alias node should not have any properties"), e.position++; let n = e.position; for (; e.input.charCodeAt(e.position) !== 0 && !P(e.input.charCodeAt(e.position)) && !I(e.input.charCodeAt(e.position));) e.position++; return e.position === n && j(e, "name of an alias node must contain at least one character"), wn(e, n, e.position), !0; } function In(e, t) { L(e, !1), e.lineIndent < t && j(e, "deficient indentation"); } function Ln(e, t, n) { if (e.input.charCodeAt(e.position) !== 39) return !1; e.position++; let r = e.position, i = !0; for (; e.input.charCodeAt(e.position) !== 0;) { let a = e.input.charCodeAt(e.position); if (a === 39) { if (e.input.charCodeAt(e.position + 1) === 39) { i = !1, e.position += 2; continue; } let t = e.position; return e.position++, E(e, r, t, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, 2, 1, -1, i), !0; } M(a) ? (i = !1, In(e, t)) : e.position === e.lineStart && R(e) ? j(e, "unexpected end of the document within a single quoted scalar") : a !== 9 && a < 32 ? j(e, "expected valid JSON character") : e.position++; } j(e, "unexpected end of the stream within a single quoted scalar"); } function Rn(e, t, n) { if (e.input.charCodeAt(e.position) !== 34) return !1; e.position++; let r = e.position, i = !0; for (; e.input.charCodeAt(e.position) !== 0;) { let a = e.input.charCodeAt(e.position); if (a === 34) { let t = e.position; return e.position++, E(e, r, t, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, 3, 1, -1, i), !0; } if (a === 92) { i = !1; let n = e.input.charCodeAt(++e.position); if (M(n)) In(e, t); else if (kn(n)) e.position++; else { let t = On(n); for (t === 0 && j(e, "unknown escape sequence"); t-- > 0;) e.position++, Dn(e.input.charCodeAt(e.position)) < 0 && j(e, "expected hexadecimal character"); e.position++; } } else M(a) ? (i = !1, In(e, t)) : e.position === e.lineStart && R(e) ? j(e, "unexpected end of the document within a double quoted scalar") : a !== 9 && a < 32 ? j(e, "expected valid JSON character") : e.position++; } j(e, "unexpected end of the stream within a double quoted scalar"); } function zn(e, t, n) { let r = e.input.charCodeAt(e.position), i = 1, a = -1, o = !1; if (r !== 124 && r !== 62) return !1; let s = r === 124 ? 4 : 5; for (e.position++; e.input.charCodeAt(e.position) !== 0;) { let n = e.input.charCodeAt(e.position), r = En(n); if (n === 43 || n === 45) i !== 1 && j(e, "repeat of a chomping mode identifier"), i = n === 43 ? 3 : 2, e.position++; else if (r >= 0) r === 0 && j(e, "bad explicit indentation width of a block scalar; it cannot be less than one"), o && j(e, "repeat of an indentation width identifier"), a = t + r - 1, o = !0, e.position++; else break; } let c = !1; for (; N(e.input.charCodeAt(e.position));) c = !0, e.position++; c && e.input.charCodeAt(e.position) === 35 && jn(e), M(e.input.charCodeAt(e.position)) ? An(e) : e.input.charCodeAt(e.position) !== 0 && j(e, "a line break is expected"); let l = o ? a : -1, u = 0, d = e.position, f = e.position; for (; e.input.charCodeAt(e.position) !== 0;) { let n = e.position, r = 0; for (; e.input.charCodeAt(n + r) === 32;) r++; let i = e.input.charCodeAt(n + r); if (i === 0) { l >= 0 ? r > l && (f = n + r) : r > 0 && (f = n + r); break; } if (n === e.lineStart && R(e, n)) break; if (!o && l === -1 && M(i) && (u = Math.max(u, r)), !o && l === -1 && !M(i) && (i === 9 && r < t && (e.position = n + r, j(e, "tab characters must not be used in indentation")), r < u && (e.position = n + r, j(e, "bad indentation of a mapping entry"))), l === -1 && i !== 0 && !M(i) && r < t) { e.lineIndent = r, e.position = n + r; break; } !o && i !== 0 && !M(i) && l === -1 && (l = r); let a = l === -1 ? t + 1 : l; if (i !== 0 && !M(i) && r < a) { e.lineIndent = r, e.position = n + r; break; } jn(e), f = e.position, M(e.input.charCodeAt(e.position)) && (An(e), f = e.position); } return Mn(e, d, f), E(e, d, f, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, s, i, l), !0; } function Bn(e, t) { let n = e.input.charCodeAt(e.position), r = t === w; if (n === 0 || P(n) || n === 35 || n === 38 || n === 42 || n === 33 || n === 124 || n === 62 || n === 39 || n === 34 || n === 37 || n === 64 || n === 96 || r && I(n)) return !1; if (n === 63 || n === 45) { let t = e.input.charCodeAt(e.position + 1); if (F(t) || r && I(t)) return !1; } return !0; } function Vn(e, t, n, r) { if (!Bn(e, n)) return !1; let i = e.position, a = e.position, o = e.input.charCodeAt(e.position), s = n === w, c = !1; for (; o !== 0 && !(e.position === e.lineStart && R(e));) { if (o === 58) { let t = e.input.charCodeAt(e.position + 1); if (F(t) || s && I(t)) break; } else if (o === 35) { if (P(e.input.charCodeAt(e.position - 1))) break; } else if (s && I(o)) break; else if (M(o)) { let n = e.position, r = e.line, i = e.lineStart, a = e.lineIndent; if (L(e, !1), e.lineIndent >= t) { c = !0, o = e.input.charCodeAt(e.position); continue; } e.position = n, e.line = r, e.lineStart = i, e.lineIndent = a; break; } N(o) || (a = e.position + 1), o = e.input.charCodeAt(++e.position); } return a === i ? !1 : (Mn(e, i, a), E(e, i, a, r.anchorStart, r.anchorEnd, r.tagStart, r.tagEnd, 1, 1, -1, !c), !0); } function z(e, t) { let n = e.line; L(e, !0), (e.line > n && e.lineIndent < t || e.firstTabInLine !== -1 && e.lineIndent < t) && j(e, "deficient indentation"); } function Hn(e, t, n) { let r = e.input.charCodeAt(e.position), i = r === 123, a = e.position, o = !0; if (r !== 91 && r !== 123) return !1; let s = i ? 125 : 93; for (i ? T(e, a, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, 2) : Cn(e, a, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, 2), e.position++; e.input.charCodeAt(e.position) !== 0;) { z(e, t); let n = e.input.charCodeAt(e.position); if (n === s) return e.position++, D(e), !0; o ? n === 44 && j(e, "expected the node content, but found ','") : j(e, "missed comma between flow collection entries"); let r = !1, a = !1; n === 63 && P(e.input.charCodeAt(e.position + 1)) && (r = a = !0, e.position += 1, z(e, t)); let c = e.line, l = k(e), u = B(e, t, w, !1, !0); z(e, t), n = e.input.charCodeAt(e.position), (i || a || e.line === c) && n === 58 ? (r = !0, e.position++, z(e, t), i ? u || O(e) : (A(e, l), T(e, l.position, C, C, C, C, 2), B(e, t, w, !1, !0) || O(e), z(e, t), e.position++, z(e, t)), B(e, t, w, !1, !0) || O(e), z(e, t), i || D(e)) : i && r ? (u || O(e), O(e)) : i ? O(e) : r && (A(e, l), T(e, l.position, C, C, C, C, 2), B(e, t, w, !1, !0), O(e), D(e)), n = e.input.charCodeAt(e.position), n === 44 ? (o = !0, e.position++) : o = !1; } j(e, "unexpected end of the stream within a flow collection"); } function Un(e, t, n) { if (e.firstTabInLine !== -1 || e.input.charCodeAt(e.position) !== 45 || !F(e.input.charCodeAt(e.position + 1))) return !1; for (Cn(e, e.position, n.anchorStart, n.anchorEnd, n.tagStart, n.tagEnd, 1); e.input.charCodeAt(e.position) === 45 && F(e.input.charCodeAt(e.position + 1));) { e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, j(e, "tab characters must not be used in indentation")); let n = e.line; e.position++; let r = L(e, !0) > 0; if (e.firstTabInLine !== -1 && e.input.charCodeAt(e.position) === 45 && F(e.input.charCodeAt(e.position + 1)) && j(e, "bad indentation of a sequence entry"), r && e.lineIndent <= t ? O(e) : B(e, t, dn, !1, !0), L(e, !0), e.lineIndent < t || e.position >= e.length) break; e.lineIndent > t && j(e, "bad indentation of a sequence entry"), e.line === n && e.input.charCodeAt(e.position) === 45 && F(e.input.charCodeAt(e.position + 1)) && j(e, "bad indentation of a sequence entry"); } return D(e), !0; } function Wn(e, t, n, r) { let i = !1, a = !1, o = !1, s = !1; if (e.firstTabInLine !== -1) return !1; let c = e.input.charCodeAt(e.position); for (; c !== 0;) { !i && e.firstTabInLine !== -1 && (e.position = e.firstTabInLine, j(e, "tab characters must not be used in indentation")); let l = e.input.charCodeAt(e.position + 1), u = e.line; if ((c === 63 || c === 58) && F(l)) o || (T(e, e.position, r.anchorStart, r.anchorEnd, r.tagStart, r.tagEnd, 1), o = !0), c === 63 ? (i && O(e), a = !0, i = !0) : i ? i = !1 : (O(e), a = !0, i = !1), e.position += 1, s = !0; else { i && (O(e), i = !1); let t = k(e); if (!B(e, n, un, !1, !0)) break; if (e.line === u) { for (c = e.input.charCodeAt(e.position); N(c);) c = e.input.charCodeAt(++e.position); if (c === 58) { if (c = e.input.charCodeAt(++e.position), F(c) || j(e, "a whitespace character is expected after the key-value separator within a block mapping"), !o) { for (A(e, t), T(e, t.position, r.anchorStart, r.anchorEnd, r.tagStart, r.tagEnd, 1), o = !0, B(e, n, un, !1, !0), c = e.input.charCodeAt(e.position); N(c);) c = e.input.charCodeAt(++e.position); e.position++; } a = !0, i = !1, s = !1; } else if (a) j(e, "expected ':' after a mapping key"); else return r.anchorStart !== C || r.tagStart !== C ? (A(e, t), !1) : !0; } else if (a) j(e, "can not read a block mapping entry; a multiline key may not be an implicit key"); else return r.anchorStart !== C || r.tagStart !== C ? (A(e, t), !1) : !0; } if (B(e, t, fn, !0, s) && (s = !1), i || s && (O(e), s = !1), L(e, !0), c = e.input.charCodeAt(e.position), (e.line === u || e.lineIndent > t) && c !== 0) j(e, "bad indentation of a mapping entry"); else if (e.lineIndent < t) break; } return a ? (i && O(e), o && D(e), !0) : !1; } function B(e, t, n, r, i, a = !0) { e.depth >= e.maxDepth && j(e, `nesting exceeded maxDepth (${e.maxDepth})`), e.depth++; let o = 1, s = !1, c = !1, l = null, u = Tn(), d = n === fn || n === dn, f = d, p = d; if (r && L(e, !0) && (s = !0, o = e.lineIndent > t ? 1 : e.lineIndent === t ? 0 : -1), e.position === e.lineStart && R(e)) return e.depth--, !1; if (o === 1) for (;;) { let r = e.input.charCodeAt(e.position), i = k(e); if (s && o !== 1 && (r === 33 || r === 38)) break; if (s && p && (u.tagStart !== C || u.anchorStart !== C) && (r === 33 || r === 38)) { var m; let n = k(e), r = t + 1; if (Wn(e, e.position - e.lineStart, r, u) && ((m = e.events[n.eventsLength]) == null ? void 0 : m.type) === 3) return e.depth--, !0; A(e, n); } if (s && (r === 33 && u.tagStart !== C || r === 38 && u.anchorStart !== C) || !Nn(e, u, n === w) && !Pn(e, u)) break; l === null && (l = i), L(e, !0) ? (s = !0, f = p, o = e.lineIndent > t ? 1 : e.lineIndent === t ? 0 : -1) : f = !1; } if (f && (f = s || i), o === 1 || n === fn)