@speclynx/apidom-json-pointer-relative 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomJsonPointerRelative=t():e.apidomJsonPointerRelative=t()}(self,()=>(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{CompilationRelativeJsonPointerError:()=>l,EvaluationRelativeJsonPointerError:()=>u,InvalidRelativeJsonPointerError:()=>c,RelativeJsonPointerError:()=>i,compile:()=>W,evaluate:()=>mn,isRelativeJsonPointer:()=>G,parse:()=>q});class n extends AggregateError{constructor(e,t,n){super(e,t,n),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const r=n;class s extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(r,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const o=s;const a=class extends o{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...n}=t;Object.assign(this,n)}}};const i=class extends a{};class c extends i{relativePointer;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer)}}const u=class extends i{relativePointer;currentElement;rootElement;cursorElement;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer,this.currentElement=t.currentElement,this.rootElement=t.rootElement,this.cursorElement=t.cursorElement)}};const l=class extends i{nonNegativeIntegerPrefix;indexManipulation;jsonPointerTokens;hashCharacter;constructor(e,t){super(e,t),void 0!==t&&(this.nonNegativeIntegerPrefix=t.relativePointer.nonNegativeIntegerPrefix,this.indexManipulation=t.relativePointer.indexManipulation,this.hashCharacter=t.relativePointer.hashCharacter,Array.isArray(t.relativePointer.jsonPointerTokens)&&(this.jsonPointerTokens=[...t.relativePointer.jsonPointerTokens]))}},h=function(){const e=y,t=m,n=this,r="parser.js: Parser(): ";n.ast=void 0,n.stats=void 0,n.trace=void 0,n.callbacks=[];let s,o,a,i,c,u,l,h=0,f=0,p=0,d=0,g=0,v=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};n.parse=(m,y,b,w)=>{const k=`${r}parse(): `;h=0,f=0,p=0,d=0,g=0,s=void 0,o=void 0,a=void 0,i=void 0,v.refresh(),c=void 0,u=void 0,l=void 0,i=t.stringToChars(b),s=m.rules,o=m.udts;const x=y.toLowerCase();let E;for(const e in s)if(s.hasOwnProperty(e)&&x===s[e].lower){E=s[e].index;break}if(void 0===E)throw new Error(`${k}start rule name '${startRule}' not recognized`);(()=>{const e=`${r}initializeCallbacks(): `;let t,a;for(c=[],u=[],t=0;t<s.length;t+=1)c[t]=void 0;for(t=0;t<o.length;t+=1)u[t]=void 0;const i=[];for(t=0;t<s.length;t+=1)i.push(s[t].lower);for(t=0;t<o.length;t+=1)i.push(o[t].lower);for(const r in n.callbacks)if(n.callbacks.hasOwnProperty(r)){if(t=i.indexOf(r.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${r}' not a rule or udt name`);if(a=n.callbacks[r]?n.callbacks[r]:void 0,"function"!=typeof a&&void 0!==a)throw new Error(`${e}syntax callback[${r}] must be function reference or falsy)`);t<s.length?c[t]=a:u[t-s.length]=a}})(),n.trace&&n.trace.init(s,o,i),n.stats&&n.stats.init(s,o),n.ast&&n.ast.init(s,o,i),l=w,a=[{type:e.RNM,index:E}],T(0,0),a=void 0;let A=!1;switch(v.state){case e.ACTIVE:throw new Error(`${k}final state should never be 'ACTIVE'`);case e.NOMATCH:A=!1;break;case e.EMPTY:case e.MATCH:A=v.phraseLength===i.length;break;default:throw new Error("unrecognized state")}return{success:A,state:v.state,stateName:e.idName(v.state),length:i.length,matched:v.phraseLength,maxMatched:g,maxTreeDepth:p,nodeHits:d}};const b=(t,n,s,o)=>{if(n.phraseLength>s){let e=`${r}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${n.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(n.state){case e.ACTIVE:if(!o)throw new Error(`${r}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:n.phraseLength=0;break;case e.MATCH:0===n.phraseLength&&(n.state=e.EMPTY);break;case e.NOMATCH:n.phraseLength=0;break;default:throw new Error(`${r}opRNM(${t.name}): callback function return error. Unrecognized return state: ${n.state}`)}},w=(t,c)=>{let f,p,d;const m=a[t],y=o[m.index];v.UdtIndex=y.index,h||(d=n.ast&&n.ast.udtDefined(m.index),d&&(p=s.length+m.index,f=n.ast.getLength(),n.ast.down(p,y.name)));const g=i.length-c;u[m.index](v,i,c,l),((t,n,s)=>{if(n.phraseLength>s){let e=`${r}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${n.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(n.state){case e.ACTIVE:throw new Error(`${r}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);n.phraseLength=0;break;case e.MATCH:if(0===n.phraseLength){if(!t.empty)throw new Error(`${r}opUDT(${t.name}) may not return EMPTY.`);n.state=e.EMPTY}break;case e.NOMATCH:n.phraseLength=0;break;default:throw new Error(`${r}opUDT(${t.name}): callback function return error. Unrecognized return state: ${n.state}`)}})(y,v,g),h||d&&(v.state===e.NOMATCH?n.ast.setLength(f):n.ast.up(p,y.name,c,v.phraseLength))},T=(t,o)=>{const u=`${r}opExecute(): `,m=a[t];switch(d+=1,f>p&&(p=f),f+=1,v.refresh(),n.trace&&n.trace.down(m,o),m.type){case e.ALT:((t,n)=>{const r=a[t];for(let t=0;t<r.children.length&&(T(r.children[t],n),v.state===e.NOMATCH);t+=1);})(t,o);break;case e.CAT:((t,r)=>{let s,o,i,c;const u=a[t];n.ast&&(o=n.ast.getLength()),s=!0,i=r,c=0;for(let t=0;t<u.children.length;t+=1){if(T(u.children[t],i),v.state===e.NOMATCH){s=!1;break}i+=v.phraseLength,c+=v.phraseLength}s?(v.state=0===c?e.EMPTY:e.MATCH,v.phraseLength=c):(v.state=e.NOMATCH,v.phraseLength=0,n.ast&&n.ast.setLength(o))})(t,o);break;case e.REP:((t,r)=>{let s,o,c,u;const l=a[t];if(0===l.max)return v.state=e.EMPTY,void(v.phraseLength=0);for(o=r,c=0,u=0,n.ast&&(s=n.ast.getLength());!(o>=i.length)&&(T(t+1,o),v.state!==e.NOMATCH)&&v.state!==e.EMPTY&&(u+=1,c+=v.phraseLength,o+=v.phraseLength,u!==l.max););v.state===e.EMPTY||u>=l.min?(v.state=0===c?e.EMPTY:e.MATCH,v.phraseLength=c):(v.state=e.NOMATCH,v.phraseLength=0,n.ast&&n.ast.setLength(s))})(t,o);break;case e.RNM:((t,r)=>{let o,u,f;const p=a[t],d=s[p.index],m=c[d.index];if(h||(u=n.ast&&n.ast.ruleDefined(p.index),u&&(o=n.ast.getLength(),n.ast.down(p.index,s[p.index].name))),m){const t=i.length-r;m(v,i,r,l),b(d,v,t,!0),v.state===e.ACTIVE&&(f=a,a=d.opcodes,T(0,r),a=f,m(v,i,r,l),b(d,v,t,!1))}else f=a,a=d.opcodes,T(0,r,v),a=f;h||u&&(v.state===e.NOMATCH?n.ast.setLength(o):n.ast.up(p.index,d.name,r,v.phraseLength))})(t,o);break;case e.TRG:((t,n)=>{const r=a[t];v.state=e.NOMATCH,n<i.length&&r.min<=i[n]&&i[n]<=r.max&&(v.state=e.MATCH,v.phraseLength=1)})(t,o);break;case e.TBS:((t,n)=>{const r=a[t],s=r.string.length;if(v.state=e.NOMATCH,n+s<=i.length){for(let e=0;e<s;e+=1)if(i[n+e]!==r.string[e])return;v.state=e.MATCH,v.phraseLength=s}})(t,o);break;case e.TLS:((t,n)=>{let r;const s=a[t];v.state=e.NOMATCH;const o=s.string.length;if(0!==o){if(n+o<=i.length){for(let e=0;e<o;e+=1)if(r=i[n+e],r>=65&&r<=90&&(r+=32),r!==s.string[e])return;v.state=e.MATCH,v.phraseLength=o}}else v.state=e.EMPTY})(t,o);break;case e.UDT:w(t,o);break;case e.AND:((t,n)=>{switch(h+=1,T(t+1,n),h-=1,v.phraseLength=0,v.state){case e.EMPTY:case e.MATCH:v.state=e.EMPTY;break;case e.NOMATCH:v.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${v.state}`)}})(t,o);break;case e.NOT:((t,n)=>{switch(h+=1,T(t+1,n),h-=1,v.phraseLength=0,v.state){case e.EMPTY:case e.MATCH:v.state=e.NOMATCH;break;case e.NOMATCH:v.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${v.state}`)}})(t,o);break;default:throw new Error(`${u}unrecognized operator`)}h||o+v.phraseLength>g&&(g=o+v.phraseLength),n.stats&&n.stats.collect(m,v),n.trace&&n.trace.up(m,v.state,o,v.phraseLength),f-=1}},f=function(){const e=y,t=m,n=this;let r,s,o,a=0;const i=[],c=[],u=[];function l(e){let t="";for(;e-- >0;)t+=" ";return t}n.callbacks=[],n.init=(e,t,l)=>{let h;c.length=0,u.length=0,a=0,r=e,s=t,o=l;const f=[];for(h=0;h<r.length;h+=1)f.push(r[h].lower);for(h=0;h<s.length;h+=1)f.push(s[h].lower);for(a=r.length+s.length,h=0;h<a;h+=1)i[h]=void 0;for(const e in n.callbacks)if(n.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(h=f.indexOf(t),h<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);i[h]=n.callbacks[e]}},n.ruleDefined=e=>!!i[e],n.udtDefined=e=>!!i[r.length+e],n.down=(t,n)=>{const r=u.length;return c.push(r),u.push({name:n,thisIndex:r,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),r},n.up=(t,n,r,s)=>{const o=u.length,a=c.pop();return u.push({name:n,thisIndex:o,thatIndex:a,state:e.SEM_POST,callbackIndex:t,phraseIndex:r,phraseLength:s,stack:c.length}),u[a].thatIndex=o,u[a].phraseIndex=r,u[a].phraseLength=s,o},n.translate=t=>{let n,r;for(let s=0;s<u.length;s+=1)r=u[s],n=i[r.callbackIndex],n&&(r.state===e.SEM_PRE?n(e.SEM_PRE,o,r.phraseIndex,r.phraseLength,t):n&&n(e.SEM_POST,o,r.phraseIndex,r.phraseLength,t))},n.setLength=e=>{u.length=e,c.length=e>0?u[e-1].stack:0},n.getLength=()=>u.length,n.toXml=()=>{let n="",r=0;return n+='<?xml version="1.0" encoding="utf-8"?>\n',n+=`<root nodes="${u.length/2}" characters="${o.length}">\n`,n+="\x3c!-- input string --\x3e\n",n+=l(r+2),n+=t.charsToString(o),n+="\n",u.forEach(s=>{s.state===e.SEM_PRE?(r+=1,n+=l(r),n+=`<node name="${s.name}" index="${s.phraseIndex}" length="${s.phraseLength}">\n`,n+=l(r+2),n+=t.charsToString(o,s.phraseIndex,s.phraseLength),n+="\n"):(n+=l(r),n+=`</node>\x3c!-- name="${s.name}" --\x3e\n`,r-=1)}),n+="</root>\n",n}},p=function(){const e=y,t=m,n="parser.js: Trace(): ";let r,s,o,a="",i=0;const c=this,u=e=>{let t="",n=0;if(e>=0)for(;e--;)n+=1,5===n?(t+="|",n=0):t+=".";return t};c.init=(e,t,n)=>{s=e,o=t,r=n};const l=r=>{let a;switch(r.type){case e.ALT:a="ALT";break;case e.CAT:a="CAT";break;case e.REP:a=r.max===1/0?`REP(${r.min},inf)`:`REP(${r.min},${r.max})`;break;case e.RNM:a=`RNM(${s[r.index].name})`;break;case e.TRG:a=`TRG(${r.min},${r.max})`;break;case e.TBS:a=r.string.length>6?`TBS(${t.charsToString(r.string,0,3)}...)`:`TBS(${t.charsToString(r.string,0,6)})`;break;case e.TLS:a=r.string.length>6?`TLS(${t.charsToString(r.string,0,3)}...)`:`TLS(${t.charsToString(r.string,0,6)})`;break;case e.UDT:a=`UDT(${o[r.index].name})`;break;case e.AND:a="AND";break;case e.NOT:a="NOT";break;default:throw new Error(`${n}Trace: opName: unrecognized opcode`)}return a};c.down=(e,n)=>{const s=u(i),o=Math.min(100,r.length-n);let c=t.charsToString(r,n,o);o<r.length-n&&(c+="..."),c=`${s}|-|[${l(e)}]${c}\n`,a+=c,i+=1},c.up=(s,o,c,h)=>{const f=`${n}trace.up: `;i-=1;const p=u(i);let d,m,y;switch(o){case e.EMPTY:y="|E|",m="''";break;case e.MATCH:y="|M|",d=Math.min(100,h),m=d<h?`'${t.charsToString(r,c,d)}...'`:`'${t.charsToString(r,c,d)}'`;break;case e.NOMATCH:y="|N|",m="";break;default:throw new Error(`${f} unrecognized state`)}m=`${p}${y}[${l(s)}]${m}\n`,a+=m},c.displayTrace=()=>a},d=function(){const e=y;let t,n,r;const s=[],o=[],a=[];this.init=(e,r)=>{t=e,n=r,f()},this.collect=(t,n)=>{p(r,n.state,n.phraseLength),p(s[t.type],n.state,n.phraseLength),t.type===e.RNM&&p(o[t.index],n.state,n.phraseLength),t.type===e.UDT&&p(a[t.index],n.state,n.phraseLength)},this.displayStats=()=>{let t="";const n={match:0,empty:0,nomatch:0,total:0},r=(e,t,r,s,o)=>{n.match+=t,n.empty+=r,n.nomatch+=s,n.total+=o;return`${e} | ${i(t)} | ${i(r)} | ${i(s)} | ${i(o)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=r(" ALT",s[e.ALT].match,s[e.ALT].empty,s[e.ALT].nomatch,s[e.ALT].total),t+=r(" CAT",s[e.CAT].match,s[e.CAT].empty,s[e.CAT].nomatch,s[e.CAT].total),t+=r(" REP",s[e.REP].match,s[e.REP].empty,s[e.REP].nomatch,s[e.REP].total),t+=r(" RNM",s[e.RNM].match,s[e.RNM].empty,s[e.RNM].nomatch,s[e.RNM].total),t+=r(" TRG",s[e.TRG].match,s[e.TRG].empty,s[e.TRG].nomatch,s[e.TRG].total),t+=r(" TBS",s[e.TBS].match,s[e.TBS].empty,s[e.TBS].nomatch,s[e.TBS].total),t+=r(" TLS",s[e.TLS].match,s[e.TLS].empty,s[e.TLS].nomatch,s[e.TLS].total),t+=r(" UDT",s[e.UDT].match,s[e.UDT].empty,s[e.UDT].nomatch,s[e.UDT].total),t+=r(" AND",s[e.AND].match,s[e.AND].empty,s[e.AND].nomatch,s[e.AND].total),t+=r(" NOT",s[e.NOT].match,s[e.NOT].empty,s[e.NOT].nomatch,s[e.NOT].total),t+=r("TOTAL",n.match,n.empty,n.nomatch,n.total),t},this.displayHits=e=>{let t="";const n=(e,t,n,s,o)=>{r.match+=e,r.empty+=t,r.nomatch+=n,r.total+=s;return`| ${i(e)} | ${i(t)} | ${i(n)} | ${i(s)} | ${o}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(o.sort(c),a.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(o.sort(l),a.sort(l),t+=" RULES/UDTS BY INDEX\n"):(o.sort(u),a.sort(u),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<o.length;e+=1){let r=o[e];r.total&&(t+=n(r.match,r.empty,r.nomatch,r.total,r.name))}for(let e=0;e<a.length;e+=1){let r=a[e];r.total&&(t+=n(r.match,r.empty,r.nomatch,r.total,r.name))}return t};const i=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,u=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),l=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,h=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},f=()=>{s.length=0,r=new h,s[e.ALT]=new h,s[e.CAT]=new h,s[e.REP]=new h,s[e.RNM]=new h,s[e.TRG]=new h,s[e.TBS]=new h,s[e.TLS]=new h,s[e.UDT]=new h,s[e.AND]=new h,s[e.NOT]=new h,o.length=0;for(let e=0;e<t.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(n.length>0){a.length=0;for(let e=0;e<n.length;e+=1)a.push({empty:0,match:0,nomatch:0,total:0,name:n[e].name,lower:n[e].lower,index:n[e].index})}},p=(t,n)=>{switch(t.total+=1,n){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${n}`)}}},m={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,n)=>{let r=e;for(;!(void 0===t||t<0);){if(void 0===n){r=e.slice(t);break}if(n<=0)return"";r=e.slice(t,t+n);break}return String.fromCodePoint(...r)}},y={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case y.ALT:return"ALT";case y.CAT:return"CAT";case y.REP:return"REP";case y.RNM:return"RNM";case y.TRG:return"TRG";case y.TBS:return"TBS";case y.TLS:return"TLS";case y.UDT:return"UDT";case y.AND:return"AND";case y.NOT:return"NOT";case y.ACTIVE:return"ACTIVE";case y.EMPTY:return"EMPTY";case y.MATCH:return"MATCH";case y.NOMATCH:return"NOMATCH";case y.SEM_PRE:return"SEM_PRE";case y.SEM_POST:return"SEM_POST";case y.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function g(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class v extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...n}=t;Object.assign(this,n)}}}const b=v;const w=class extends b{},T=e=>(t,n,r,s,o)=>{if("object"!=typeof o||null===o||Array.isArray(o))throw new w("parser's user data must be an object");if(t===y.SEM_PRE){const t={type:e,text:m.charsToString(n,r,s),start:r,length:s,children:[]};if(o.stack.length>0){o.stack[o.stack.length-1].children.push(t)}else o.root=t;o.stack.push(t)}t===y.SEM_POST&&o.stack.pop()};const k=class extends f{constructor(){super(),this.callbacks["json-pointer"]=T("json-pointer"),this.callbacks["reference-token"]=T("reference-token"),this.callbacks.slash=T("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}},x=e=>{if("string"!=typeof e)throw new TypeError("Reference token must be a string");return e.replace(/~1/g,"/").replace(/~0/g,"~")};const E=class extends k{getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>x(e))}};const A=class extends Array{toString(){return this.map(e=>`"${String(e)}"`).join(", ")}};const P=class extends p{inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let n=-1;for(let r=0;r<e.length;r++){const s=e[r];if(s.includes("M|")){const e=s.match(/]'(.*)'$/);e&&e[1]&&(n=r)}if(r>n){const e=s.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new A(...t)}},S=new g,O=(e,{translator:t=new E,stats:n=!1,trace:r=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const s=new h;t&&(s.ast=t),n&&(s.stats=new d),r&&(s.trace=new P);const o=s.parse(S,"json-pointer",e);return{result:o,tree:o.success&&t?s.ast.getTree():void 0,stats:s.stats,trace:s.trace}}catch(t){throw new w("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}};new g,new h,new g,new h;const M=new g,j=new h,N=e=>{if("string"!=typeof e)return!1;try{return j.parse(M,"array-index",e).success}catch{return!1}},C=new g,$=new h,L=e=>{if("string"!=typeof e)return!1;try{return $.parse(C,"array-dash",e).success}catch{return!1}},_=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")};const R=class extends b{},I=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return _(String(e))}).join("/")}`}catch(t){throw new R("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}};const F=class{#e;#t;#n;constructor(e,t={}){this.#e=e,this.#e.steps=[],this.#e.failed=!1,this.#e.failedAt=-1,this.#e.message=`JSON Pointer "${t.jsonPointer}" was successfully evaluated against the provided value`,this.#e.context={...t,realm:t.realm.name},this.#t=[],this.#n=t.realm}step({referenceToken:e,input:t,output:n,success:r=!0,reason:s}){const o=this.#t.length;this.#t.push(e);const a={referenceToken:e,referenceTokenPosition:o,input:t,inputType:this.#n.isObject(t)?"object":this.#n.isArray(t)?"array":"unrecognized",output:n,success:r};s&&(a.reason=s),this.#e.steps.push(a),r||(this.#e.failed=!0,this.#e.failedAt=o,this.#e.message=s)}};const D=class{name="";isArray(e){throw new b("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new b("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new b("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new b("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new b("Realm.evaluate(node) must be implemented in a subclass")}};const V=class extends b{};const U=class extends V{};const H=class extends D{name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const n=Number(t),r=n>>>0;if(n!==r)throw new U(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,n)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}};const z=class extends V{};const B=class extends V{},J=(e,t,{strictArrays:n=!0,strictObjects:r=!0,realm:s=new H,trace:o=!0}={})=>{const{result:a,tree:i,trace:c}=O(t,{trace:!!o}),u="object"==typeof o&&null!==o?new F(o,{jsonPointer:t,referenceTokens:i,strictArrays:n,strictObjects:r,realm:s,value:e}):null;try{let o;if(!a.success){let n=`Invalid JSON Pointer: "${t}". Syntax error at position ${a.maxMatched}`;throw n+=c?`, expected ${c.inferExpectations()}`:"",new V(n,{jsonPointer:t,currentValue:e,realm:s.name})}return i.reduce((e,a,c)=>{if(s.isArray(e)){if(L(a)){if(n)throw new U(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,String(s.sizeOf(e))),null==u||u.step({referenceToken:a,input:e,output:o}),o}if(!N(a))throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});const r=Number(a);if(!Number.isSafeInteger(r))throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});if(!s.has(e,a)&&n)throw new U(`Invalid array index "${a}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,a),null==u||u.step({referenceToken:a,input:e,output:o}),o}if(s.isObject(e)){if(!s.has(e,a)&&r)throw new B(`Invalid object key "${a}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,a),null==u||u.step({referenceToken:a,input:e,output:o}),o}throw new z(`Invalid reference token "${a}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:i,referenceToken:a,referenceTokenPosition:c,currentValue:e,realm:s.name})},e)}catch(e){if(null==u||u.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof V)throw e;throw new V("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:i})}};const Y=new RegExp("^(?<nonNegativeIntegerPrefix>[1-9]\\d*|0)(?<indexManipulation>[+-][1-9]\\d*|0)?((?<hashCharacter>#)|(?<jsonPointer>\\/.*))?$"),G=e=>"string"==typeof e&&Y.test(e),q=e=>{const t=e.match(Y);if(null===t||void 0===t.groups)throw new c(`Invalid Relative JSON Pointer "${e}".`,{relativePointer:e});try{const e=parseInt(t.groups.nonNegativeIntegerPrefix,10),n="string"==typeof t.groups.indexManipulation?parseInt(t.groups.indexManipulation,10):void 0,r="string"==typeof t.groups.jsonPointer?O(t.groups.jsonPointer).tree:void 0;return{nonNegativeIntegerPrefix:e,indexManipulation:n,jsonPointerTokens:r,hashCharacter:"string"==typeof t.groups.hashCharacter}}catch(t){throw new c(`Relative JSON Pointer parsing of "${e}" encountered an error.`,{relativePointer:e,cause:t})}},W=e=>{try{let t="";return t+=String(e.nonNegativeIntegerPrefix),"number"==typeof e.indexManipulation&&(t+=String(e.indexManipulation)),Array.isArray(e.jsonPointerTokens)?t+=I(e.jsonPointerTokens):e.hashCharacter&&(t+="#"),t}catch(t){throw new l("Relative JSON Pointer compilation encountered an error.",{relativePointer:e,cause:t})}};function K(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function X(e){return function t(n){return 0===arguments.length||K(n)?t:e.apply(this,arguments)}}function Z(e){return function t(n,r){switch(arguments.length){case 0:return t;case 1:return K(n)?t:X(function(t){return e(n,t)});default:return K(n)&&K(r)?t:K(n)?X(function(t){return e(t,r)}):K(r)?X(function(t){return e(n,t)}):e(n,r)}}}function Q(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function ee(e,t,n){for(var r=0,s=n.length;r<s;){if(e(t,n[r]))return!0;r+=1}return!1}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}const ne="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var re=Object.prototype.toString;const se=function(){return"[object Arguments]"===re.call(arguments)?function(e){return"[object Arguments]"===re.call(e)}:function(e){return te("callee",e)}}();var oe=!{toString:null}.propertyIsEnumerable("toString"),ae=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ie=function(){return arguments.propertyIsEnumerable("length")}(),ce=function(e,t){for(var n=0;n<e.length;){if(e[n]===t)return!0;n+=1}return!1},ue="function"!=typeof Object.keys||ie?X(function(e){if(Object(e)!==e)return[];var t,n,r=[],s=ie&&se(e);for(t in e)!te(t,e)||s&&"length"===t||(r[r.length]=t);if(oe)for(n=ae.length-1;n>=0;)te(t=ae[n],e)&&!ce(r,t)&&(r[r.length]=t),n-=1;return r}):X(function(e){return Object(e)!==e?[]:Object.keys(e)});const le=ue;const he=X(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function fe(e,t,n,r){var s=Q(e);function o(e,t){return pe(e,t,n.slice(),r.slice())}return!ee(function(e,t){return!ee(o,t,e)},Q(t),s)}function pe(e,t,n,r){if(ne(e,t))return!0;var s,o,a=he(e);if(a!==he(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===(s=e.constructor,null==(o=String(s).match(/^function (\w*)/))?"":o[1]))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!ne(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!ne(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var i=n.length-1;i>=0;){if(n[i]===e)return r[i]===t;i-=1}switch(a){case"Map":return e.size===t.size&&fe(e.entries(),t.entries(),n.concat([e]),r.concat([t]));case"Set":return e.size===t.size&&fe(e.values(),t.values(),n.concat([e]),r.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=le(e);if(c.length!==le(t).length)return!1;var u=n.concat([e]),l=r.concat([t]);for(i=c.length-1;i>=0;){var h=c[i];if(!te(h,t)||!pe(t[h],e[h],u,l))return!1;i-=1}return!0}const de=Z(function(e,t){return pe(e,t,[],[])});const me=class{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}};class ye{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(n=>{const r=n.value,s=n.key;if(void 0===r||void 0===s)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,r,s,n):e(r,s,n)})}filter(e,t){const n=this.elements.filter(n=>{const r=n.value,s=n.key;return void 0!==r&&void 0!==s&&(void 0!==t?e.call(t,r,s,n):e(r,s,n))});return new ye(n)}reject(e,t){const n=[];for(const r of this.elements){const s=r.value,o=r.key;void 0!==s&&void 0!==o&&(e.call(t,s,o,r)||n.push(r))}return new ye(n)}forEach(e,t){this.elements.forEach((n,r)=>{const s=n.value,o=n.key;void 0!==s&&void 0!==o&&(void 0!==t?e.call(t,s,o,n,r):e(s,o,n,r))})}find(e,t){return this.elements.find(n=>{const r=n.value,s=n.key;return void 0!==r&&void 0!==s&&(void 0!==t?e.call(t,r,s,n):e(r,s,n))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const ge=ye;class ve{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,n){void 0!==t&&(this.meta=t),void 0!==n&&(this.attributes=n),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof ve)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof me)this._content=e;else if(e instanceof ge)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof ve?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof ve?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof me){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof ve?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof ve||e instanceof me?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){return de(this.toValue(),e)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const n=new this.RefElement(t);return"string"==typeof e&&(n.path=this.refract(e)),n}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const be=ve;class we extends be{constructor(e,t,n){super(e||[],t,n)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const n=t||{},r=!!n.recursive,s=void 0===n.results?[]:n.results;for(let t=0;t<this._content.length;t+=1){const n=this._content[t],o=n;r&&"function"==typeof o.findElements&&o.findElements(e,{results:s,recursive:r}),e(n,t,void 0)&&s.push(n)}return s}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const n=t.classes;return"function"==typeof n.includes&&n.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const Te=we;const ke=class extends Te{constructor(e,t,n){super(e||[],t,n),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const n=[];for(const r of this._content){const s=e.call(t,r);s&&n.push(s)}return n}filter(e,t){const n=this._content.filter(e,t);return new this.constructor(n)}reject(e,t){const n=[];for(const r of this._content)e.call(t,r)||n.push(r);return new this.constructor(n)}reduce(e,t){let n,r;void 0!==t?(n=0,r=this.refract(t)):(n=1,r=this.first);for(let t=n;t<this.length;t+=1){const n=e(r,this._content[t],t,this);r=void 0===n?n:this.refract(n)}return r}forEach(e,t){this._content.forEach((n,r)=>{e.call(t,n,r)})}empty(){return new this.constructor([])}};const xe=class extends be{constructor(e,t,n,r){super(new me,n,r),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}};const Ee=class extends Te{constructor(e,t,n){super(e||[],t,n),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(n=>n.key.toValue()!==e||(t=n,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const n=this.getMember(e);n?n.value=t:this._content.push(new xe(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(n=>e.call(t,n.value,n.key,n))}compactMap(e,t){const n=[];return this.forEach((r,s,o)=>{const a=e.call(t,r,s,o);a&&n.push(a)}),n}filter(e,t){return new ge(this._content).filter(e,t)}reject(e,t){const n=[];for(const r of this._content)e.call(t,r.value,r.key,r)||n.push(r);return new ge(n)}forEach(e,t){this._content.forEach(n=>e.call(t,n.value,n.key,n))}reduce(e,t){let n,r;void 0!==t?(n=0,r=this.refract(t)):(n=1,r=this._content[0]?.value);for(let t=n;t<this._content.length;t+=1){const n=this._content[t],s=e(r,n.value,n.key,n,this);r=void 0===s?s:this.refract(s)}return r}empty(){return new this.constructor([])}},Ae=e=>e instanceof be,Pe=e=>e instanceof ke,Se=e=>e instanceof Ee,Oe=e=>e instanceof xe;const Me=class extends be{constructor(e,t,n){super(e,t,n),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}};class je extends Me{constructor(e,t,n){super(e,t,n),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:n,startOffset:r,endLine:s,endCharacter:o,endOffset:a}=e;if("number"!=typeof t||"number"!=typeof n||"number"!=typeof r||"number"!=typeof s||"number"!=typeof o||"number"!=typeof a)return;const i="sm1:"+[t,n,r,s,o,a].map(Ce).join("");const c=new je(i);return c.startLine=t,c.startCharacter=n,c.startOffset=r,c.endLine=s,c.endCharacter=o,c.endOffset=a,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=function(e){const t=e.startsWith("sm1:")?e.slice(4):e,n=[];let r=0;for(let e=0;e<6;e++){const e=$e(t,r);n.push(e.value),r=e.next}return n}(this.content))}}const Ne="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ce(e){let t=e>>>0,n="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),n+=Ne[e]}while(0!==t);return n}function $e(e,t=0){let n=0,r=0,s=t;for(;;){const t=e[s++],o=Ne.indexOf(t);if(-1===o)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(n|=(31&o)<<r,r+=5,!!!(32&o))break}return{value:n>>>0,next:s}}const Le=je;const _e=class extends a{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}};const Re=class extends _e{};const Ie=class extends _e{},Fe=(e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const s=He(e);n.set(e,s);const{content:o}=e;return Array.isArray(o)?s.content=o.map(e=>Fe(e,r)):Ae(o)?s.content=Fe(o,r):s.content=o instanceof me?De(o,r):o,s},De=(e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const{key:s,value:o}=e,a=void 0!==s?Fe(s,r):void 0,i=void 0!==o?Fe(o,r):void 0,c=new me(a,i);return n.set(e,c),c},Ve=(e,t={})=>{if(e instanceof me)return De(e,t);if(e instanceof ge)return((e,t)=>{const{visited:n=new WeakMap}=t,r={...t,visited:n};if(n.has(e))return n.get(e);const s=[...e].map(e=>Fe(e,r)),o=new ge(s);return n.set(e,o),o})(e,t);if(Ae(e))return Fe(e,t);throw new Re("Value provided to cloneDeep function couldn't be cloned",{value:e})};Ve.safe=e=>{try{return Ve(e)}catch{return e}};const Ue=e=>{const{key:t,value:n}=e;return new me(t,n)},He=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=Ve(e.meta)),e.isAttributesEmpty||(t.attributes=Ve(e.attributes)),(e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset)(e)&&Le.transfer(e,t);const{content:n}=e;return Ae(n)?t.content=He(n):Array.isArray(n)?t.content=[...n]:t.content=n instanceof me?Ue(n):n,t},ze=e=>{if(e instanceof me)return Ue(e);if(e instanceof ge)return(e=>{const t=[...e];return new ge(t)})(e);if(Ae(e))return He(e);throw new Ie("Value provided to cloneShallow function couldn't be cloned",{value:e})};ze.safe=e=>{try{return ze(e)}catch{return e}};const Be=class extends be{constructor(e,t,n){super(e,t,n),this.element="number"}primitive(){return"number"}};class Je{node;key;index;parent;parentPath;inList;#r=!1;#s=!1;#o=!1;#a=!1;#i;#c=!1;constructor(e,t,n,r,s){this.node=e,this.parent=t,this.parentPath=n,this.key=r,this.index=s&&"number"==typeof r?r:void 0,this.inList=s}get shouldSkip(){return this.#r}get shouldStop(){return this.#s}get removed(){return this.#o}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#r=!0}stop(){this.#s=!0}replaceWith(e){this.#c&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#a=!0,this.#i=e,this.node=e}remove(){this.#c&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#o=!0}_getReplacementNode(){return this.#i}_wasReplaced(){return this.#a}_reset(){this.#r=!1,this.#s=!1,this.#o=!1,this.#a=!1,this.#i=void 0}_markStale(){this.#c=!0}}function Ye(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,n){return t.apply(this,arguments)};case 3:return function(e,n,r){return t.apply(this,arguments)};case 4:return function(e,n,r,s){return t.apply(this,arguments)};case 5:return function(e,n,r,s,o){return t.apply(this,arguments)};case 6:return function(e,n,r,s,o,a){return t.apply(this,arguments)};case 7:return function(e,n,r,s,o,a,i){return t.apply(this,arguments)};case 8:return function(e,n,r,s,o,a,i,c){return t.apply(this,arguments)};case 9:return function(e,n,r,s,o,a,i,c,u){return t.apply(this,arguments)};case 10:return function(e,n,r,s,o,a,i,c,u,l){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function Ge(e,t,n){return function(){for(var r=[],s=0,o=e,a=0,i=!1;a<t.length||s<arguments.length;){var c;a<t.length&&(!K(t[a])||s>=arguments.length)?c=t[a]:(c=arguments[s],s+=1),r[a]=c,K(c)?i=!0:o-=1,a+=1}return!i&&o<=0?n.apply(this,r):Ye(Math.max(0,o),Ge(e,r,n))}}const qe=Z(function(e,t){return 1===e?X(t):Ye(e,Ge(e,[],t))});function We(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}const Ke=Z(function(e,t){return e&&t});function Xe(e,t,n){for(var r=0,s=n.length;r<s;)t=e(t,n[r]),r+=1;return t}const Ze=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};const Qe=X(function(e){return!!Ze(e)||!!e&&("object"==typeof e&&(!function(e){return"[object String]"===Object.prototype.toString.call(e)}(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});var et="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function tt(e,t,n){return function(r,s,o){if(Qe(o))return e(r,s,o);if(null==o)return s;if("function"==typeof o["fantasy-land/reduce"])return t(r,s,o,"fantasy-land/reduce");if(null!=o[et])return n(r,s,o[et]());if("function"==typeof o.next)return n(r,s,o);if("function"==typeof o.reduce)return t(r,s,o,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function nt(e,t,n){for(var r=n.next();!r.done;)t=e(t,r.value),r=n.next();return t}function rt(e,t,n,r){return n[r](e,t)}const st=tt(Xe,rt,nt);function ot(e,t,n){return function(){if(0===arguments.length)return n();var r=arguments[arguments.length-1];if(!Ze(r)){for(var s=0;s<e.length;){if("function"==typeof r[e[s]])return r[e[s]].apply(r,Array.prototype.slice.call(arguments,0,-1));s+=1}if(function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}(r))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(r)}return n.apply(this,arguments)}}function at(e,t){for(var n=0,r=t.length,s=Array(r);n<r;)s[n]=e(t[n]),n+=1;return s}const it=function(){return this.xf["@@transducer/init"]()},ct=function(e){return this.xf["@@transducer/result"](e)};var ut=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=it,e.prototype["@@transducer/result"]=ct,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}();const lt=Z(ot(["fantasy-land/map","map"],function(e){return function(t){return new ut(e,t)}},function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return qe(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return Xe(function(n,r){return n[r]=e(t[r]),n},{},le(t));default:return at(e,t)}}));const ht=Z(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(n){return e(n)(t(n))}:st(function(e,n){return function(e,t){var n;t=t||[];var r=(e=e||[]).length,s=t.length,o=[];for(n=0;n<r;)o[o.length]=e[n],n+=1;for(n=0;n<s;)o[o.length]=t[n],n+=1;return o}(e,lt(n,t))},[],e)});const ft=Z(function(e,t){var n=qe(e,t);return qe(e,function(){return Xe(ht,lt(n,arguments[0]),Array.prototype.slice.call(arguments,1))})});const pt=X(function(e){return ft(e.length,e)});const dt=Z(function(e,t){return We(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:pt(Ke)(e,t)});function mt(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function yt(e){return function t(n,r,s){switch(arguments.length){case 0:return t;case 1:return K(n)?t:Z(function(t,r){return e(n,t,r)});case 2:return K(n)&&K(r)?t:K(n)?Z(function(t,n){return e(t,r,n)}):K(r)?Z(function(t,r){return e(n,t,r)}):X(function(t){return e(n,r,t)});default:return K(n)&&K(r)&&K(s)?t:K(n)&&K(r)?Z(function(t,n){return e(t,n,s)}):K(n)&&K(s)?Z(function(t,n){return e(t,r,n)}):K(r)&&K(s)?Z(function(t,r){return e(n,t,r)}):K(n)?X(function(t){return e(t,r,s)}):K(r)?X(function(t){return e(n,t,s)}):K(s)?X(function(t){return e(n,r,t)}):e(n,r,s)}}}function gt(e,t,n){for(var r=0,s=n.length;r<s;){if((t=e["@@transducer/step"](t,n[r]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r+=1}return e["@@transducer/result"](t)}const vt=Z(function(e,t){return Ye(e.length,function(){return e.apply(t,arguments)})});function bt(e,t,n){for(var r=n.next();!r.done;){if((t=e["@@transducer/step"](t,r.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}r=n.next()}return e["@@transducer/result"](t)}function wt(e,t,n,r){return e["@@transducer/result"](n[r](vt(e["@@transducer/step"],e),t))}const Tt=tt(gt,wt,bt);var kt=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();const xt=yt(function(e,t,n){return Tt("function"==typeof e?new kt(e):e,t,n)});function Et(e,t){return function(){var n=arguments.length;if(0===n)return t();var r=arguments[n-1];return Ze(r)||"function"!=typeof r[e]?t.apply(this,arguments):r[e].apply(r,Array.prototype.slice.call(arguments,0,n-1))}}const At=X(Et("tail",yt(Et("slice",function(e,t,n){return Array.prototype.slice.call(n,e,t)}))(1,1/0)));function Pt(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return Ye(arguments[0].length,xt(mt,arguments[0],At(arguments)))}function St(e,t){return function(e,t,n){var r,s;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(r=1/t;n<e.length;){if(0===(s=e[n])&&1/s===r)return n;n+=1}return-1}if(t!=t){for(;n<e.length;){if("number"==typeof(s=e[n])&&s!=s)return n;n+=1}return-1}return e.indexOf(t,n);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,n);case"object":if(null===t)return e.indexOf(t,n)}for(;n<e.length;){if(de(e[n],t))return n;n+=1}return-1}(t,e,0)>=0}function Ot(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var Mt=function(e){return(e<10?"0":"")+e};const jt="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+Mt(e.getUTCMonth()+1)+"-"+Mt(e.getUTCDate())+"T"+Mt(e.getUTCHours())+":"+Mt(e.getUTCMinutes())+":"+Mt(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var Nt=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=it,e.prototype["@@transducer/result"]=ct,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function Ct(e){return function(t){return new Nt(e,t)}}var $t=Z(ot(["fantasy-land/filter","filter"],Ct,function(e,t){return n=t,"[object Object]"===Object.prototype.toString.call(n)?Xe(function(n,r){return e(t[r])&&(n[r]=t[r]),n},{},le(t)):function(e){return"[object Map]"===Object.prototype.toString.call(e)}(t)?function(e,t){for(var n=new Map,r=t.entries(),s=r.next();!s.done;)e(s.value[1])&&n.set(s.value[0],s.value[1]),s=r.next();return n}(e,t):function(e,t){for(var n=0,r=t.length,s=[];n<r;)e(t[n])&&(s[s.length]=t[n]),n+=1;return s}(e,t);var n}));const Lt=$t;const _t=Z(function(e,t){return Lt((n=e,function(){return!n.apply(this,arguments)}),t);var n});function Rt(e,t){var n=function(n){var r=t.concat([e]);return St(n,r)?"<Circular>":Rt(n,r)},r=function(e,t){return at(function(t){return Ot(t)+": "+n(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+at(n,e).join(", ")+"))";case"[object Array]":return"["+at(n,e).concat(r(e,_t(function(e){return/^\d+$/.test(e)},le(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+n(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?n(NaN):Ot(jt(e)))+")";case"[object Map]":return"new Map("+n(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+n(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+n(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+n(e.valueOf())+")":Ot(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var s=e.toString();if("[object Object]"!==s)return s}return"{"+r(e,le(e)).join(", ")+"}"}}const It=X(function(e){return Rt(e,[])});const Ft=Z(function(e,t){return e||t});const Dt=Z(function(e,t){return We(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:pt(Ft)(e,t)});const Vt=pt(X(function(e){return!e}))(de(null));const Ut=Z(function(e,t){if(e===t)return t;function n(e,t){if(e>t!=t>e)return t>e?t:e}var r=n(e,t);if(void 0!==r)return r;var s=n(typeof e,typeof t);if(void 0!==s)return s===typeof e?e:t;var o=It(e),a=n(o,It(t));return void 0!==a&&a===o?e:t}),Ht=Number.isInteger||function(e){return(e|0)===e};function zt(e,t){return t[e<0?t.length+e:e]}const Bt=Z(function(e,t){if(null!=t)return Ht(e)?zt(e,t):t[e]});const Jt=Z(function(e,t){return lt(Bt(e),t)});const Yt=X(function(e){return qe(xt(Ut,0,Jt("length",e)),function(){for(var t=0,n=e.length;t<n;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});var Gt=function(e,t){switch(arguments.length){case 0:return Gt;case 1:return function t(n){return 0===arguments.length?t:ne(e,n)};default:return ne(e,t)}};const qt=Gt;const Wt=qe(1,Pt(he,qt("GeneratorFunction")));const Kt=qe(1,Pt(he,qt("AsyncFunction")));var Xt=Yt([Pt(he,qt("Function")),Wt,Kt]);function Zt(e){return Zt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zt(e)}var Qt=qe(1,dt(Vt,Dt(function(e){return"object"===Zt(e)},Xt)));const en=qe(1,dt(Qt,Pt(It,de("[object Promise]")))),tn=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},nn=e=>Ae(e),rn=e=>ze(e),sn=(e,t,n)=>{Oe(e)?e.value=n:Array.isArray(e)?e[t]=null===n?void 0:n:null===n?delete e[t]:e[t]=n},on=e=>Oe(e)?["key","value"]:Pe(e)||Se(e)?["content"]:[],an=(e,t)=>{if(void 0!==e[t])return e[t];const n=t.length;for(const r in e){if(!r.includes("|"))continue;const s=r.indexOf(t);if(-1===s)continue;const o=0===s||"|"===r[s-1],a=s+n===r.length||"|"===r[s+n];if(o&&a)return e[r]}},cn=(e,t,n)=>{if(void 0===t)return null;const r=e,s=n?"leave":"enter",o=an(r,t);if(!n&&"function"==typeof o)return o;if(null!=o){const e=o[s];if("function"==typeof e)return e}const a=r[s];if("function"==typeof a)return a;if(null!=a){const e=an(a,t);if("function"==typeof e)return e}return null};function un(e,t){return new Je(t,e.parent,e.parentPath,e.key,e.inList)}function*ln(e,t,n){const{keyMap:r,state:s,nodeTypeGetter:o,nodePredicate:i,nodeCloneFn:c,detectCycles:u,mutable:l,mutationFn:h}=n,f="function"==typeof r;let p,d,m=Array.isArray(e),y=[e],g=-1,v=[],b=e,w=null,T=null;const k=[];do{g+=1;const e=g===y.length;let n;const x=e&&0!==v.length;if(e){if(n=0===k.length?void 0:w?.key,b=d,d=k.pop(),T=w?.parentPath?.parentPath??null,x)if(l)for(const[e,t]of v)h(b,e,t);else if(m){b=b.slice();let e=0;for(const[t,n]of v){const r=t-e;null===n?(b.splice(r,1),e+=1):b[r]=n}}else{b=c(b);for(const[e,t]of v)b[e]=t}if(void 0!==p){g=p.index,y=p.keys,v=p.edits;const e=p.inArray;if(T=p.parentPath,p=p.prev,x&&!l){const t=e?g:y[g];v.push([t,b])}m=e}}else if(void 0!==d&&(n=m?g:y[g],b=d[n],void 0===b))continue;if(!Array.isArray(b)){if(!i(b))throw new a(`Invalid AST Node: ${String(b)}`,{node:b});if(u&&k.includes(b))continue;w=new Je(b,d,T,n,m);const r=cn(t,o(b),e);if(r){for(const[e,n]of Object.entries(s))t[e]=n;const o=yield{visitFn:r,path:w,isLeaving:e};if(w.shouldStop)break;if(w.shouldSkip&&!e)continue;if(w.removed){if(v.push([n,null]),!e)continue}else if(w._wasReplaced()){const t=w._getReplacementNode();if(v.push([n,t]),!e){if(!i(t))continue;b=t}}else if(void 0!==o&&(v.push([n,o]),!e)){if(!i(o))continue;b=o}w._markStale()}}if(!e){if(p={inArray:m,index:g,keys:y,edits:v,parentPath:T,prev:p},m=Array.isArray(b),m)y=b;else if(f)y=r(b);else{const e=o(b);y=void 0!==e?r[e]??[]:[]}g=-1,v=[],void 0!==d&&k.push(d),d=b,T=w}}while(void 0!==p);return 0!==v.length?v.at(-1)[1]:e}((e,t={})=>{const{visitFnGetter:n=cn,nodeTypeGetter:r=tn,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),i=Symbol("break"),c=new Array(e.length).fill(o);return{enter(t){let u=t.node,l=!1;for(let h=0;h<e.length;h+=1)if(c[h]===o){const o=n(e[h],r(u),!1);if("function"==typeof o){const n=un(t,u),r=o.call(e[h],n);if(en(r))throw new a("Async visitor not supported in sync mode",{visitor:e[h],visitFn:o});if(n.shouldStop){c[h]=i;break}if(n.shouldSkip&&(c[h]=u),n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();if(!s)return t.replaceWith(e),e;u=e,l=!0}else if(void 0!==r){if(!s)return t.replaceWith(r),r;u=r,l=!0}}}if(l)return t.replaceWith(u),u},leave(t){const s=t.node;for(let u=0;u<e.length;u+=1)if(c[u]===o){const o=n(e[u],r(s),!0);if("function"==typeof o){const n=un(t,s),r=o.call(e[u],n);if(en(r))throw new a("Async visitor not supported in sync mode",{visitor:e[u],visitFn:o});if(n.shouldStop){c[u]=i;break}if(n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else c[u]===s&&(c[u]=o)}}})[Symbol.for("nodejs.util.promisify.custom")]=(e,t={})=>{const{visitFnGetter:n=cn,nodeTypeGetter:r=tn,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),a=Symbol("break"),i=new Array(e.length).fill(o);return{async enter(t){let c=t.node,u=!1;for(let l=0;l<e.length;l+=1)if(i[l]===o){const o=n(e[l],r(c),!1);if("function"==typeof o){const n=un(t,c),r=await o.call(e[l],n);if(n.shouldStop){i[l]=a;break}if(n.shouldSkip&&(i[l]=c),n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();if(!s)return t.replaceWith(e),e;c=e,u=!0}else if(void 0!==r){if(!s)return t.replaceWith(r),r;c=r,u=!0}}}if(u)return t.replaceWith(c),c},async leave(t){const s=t.node;for(let c=0;c<e.length;c+=1)if(i[c]===o){const o=n(e[c],r(s),!0);if("function"==typeof o){const n=un(t,s),r=await o.call(e[c],n);if(n.shouldStop){i[c]=a;break}if(n.removed)return void t.remove();if(n._wasReplaced()){const e=n._getReplacementNode();return t.replaceWith(e),e}if(void 0!==r)return t.replaceWith(r),r}}else i[c]===s&&(i[c]=o)}}};const hn=(e,t,n={})=>{const r=ln(e,t,{keyMap:n.keyMap??on,state:n.state??{},nodeTypeGetter:n.nodeTypeGetter??tn,nodePredicate:n.nodePredicate??nn,nodeCloneFn:n.nodeCloneFn??rn,detectCycles:n.detectCycles??!0,mutable:n.mutable??!1,mutationFn:n.mutationFn??sn});let s=r.next();for(;!s.done;){const e=s.value,n=e.visitFn.call(t,e.path);if(en(n))throw new a("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});s=r.next(n)}return s.value},fn=async(e,t,n={})=>{const r=ln(e,t,{keyMap:n.keyMap??on,state:n.state??{},nodeTypeGetter:n.nodeTypeGetter??tn,nodePredicate:n.nodePredicate??nn,nodeCloneFn:n.nodeCloneFn??rn,detectCycles:n.detectCycles??!0,mutable:n.mutable??!1,mutationFn:n.mutationFn??sn});let s=r.next();for(;!s.done;){const e=s.value,n=await e.visitFn.call(t,e.path);s=r.next(n)}return s.value};hn[Symbol.for("nodejs.util.promisify.custom")]=fn,Je.prototype.traverse=function(e,t){return hn(this.node,e,t)},Je.prototype.traverseAsync=function(e,t){return fn(this.node,e,t)};const pn=class extends D{name="apidom";isArray(e){return Pe(e)}isObject(e){return Se(e)}sizeOf(e){return this.isArray(e)||this.isObject(e)?e.length:0}has(e,t){if(this.isArray(e)){const n=Number(t),r=n>>>0;if(n!==r)throw new U(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return r<this.sizeOf(e)}if(this.isObject(e)){const n=e.keys(),r=new Set(n);if(n.length!==r.size)throw new B(`Object key "${t}" is not unique — JSON Pointer requires unique member names`,{referenceToken:t,currentValue:e,realm:this.name});return e.hasKey(t)}return!1}evaluate(e,t){return this.isArray(e)?e.get(Number(t)):e.get(t)}};const dn=X(function(e){return zt(-1,e)}),mn=(e,t,n)=>{let r,s=[],o=t;if(hn(n,{enter(e){e.node===t&&(s=e.getAncestorNodes().reverse().filter(Ae),e.stop())}}),0===s.length)throw new u("Relative JSON Pointer evaluation failed. Current element not found inside the root element",{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});if(dn(s)===n)throw new u("Relative JSON Pointer evaluation failed. Current element cannot be the root element",{relativePointer:e,currentElement:t,rootElement:n,cursorElement:o});try{r=q(e)}catch(n){throw new u("Relative JSON Pointer evaluation failed while parsing the pointer.",{relativePointer:e,currentElement:Ve(t),rootElement:Ve(t),cursorElement:Ve.safe(o),cause:n})}if(r.nonNegativeIntegerPrefix>0){const a=[...s];for(let{nonNegativeIntegerPrefix:e}=r;e>0;e-=1)o=a.pop(),Oe(o)&&(o=a.pop());if(void 0===o)throw new u(`Relative JSON Pointer evaluation failed on non-negative-integer prefix of "${r.nonNegativeIntegerPrefix}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});s=a}if("number"==typeof r.indexManipulation){const a=dn(s);if(void 0===a||!Pe(a))throw new u(`Relative JSON Pointer evaluation failed failed on index-manipulation "${r.indexManipulation}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});const i=a.content,c=i.indexOf(o);if(o=i[c+r.indexManipulation],void 0===o)throw new u(`Relative JSON Pointer evaluation failed on index-manipulation "${r.indexManipulation}"`,{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)})}if(Array.isArray(r.jsonPointerTokens)){o=((e,t,n={})=>J(e,t,{...n,realm:new pn}))(o,I(r.jsonPointerTokens))}else if(r.hashCharacter){if(o===n)throw new u('Relative JSON Pointer evaluation failed. Current element cannot be the root element to apply "#"',{relativePointer:e,currentElement:Ve(t),rootElement:Ve(n),cursorElement:Ve.safe(o)});const r=dn(s);void 0!==r&&(Oe(r)?o=r.key:Pe(r)&&(o=new Be(r.content.indexOf(o))))}return o};return t})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.apidomJsonPointerRelative=t():e.apidomJsonPointerRelative=t()}(self,()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{CompilationRelativeJsonPointerError:()=>u,EvaluationRelativeJsonPointerError:()=>l,InvalidRelativeJsonPointerError:()=>c,RelativeJsonPointerError:()=>a,compile:()=>Y,evaluate:()=>wr,isRelativeJsonPointer:()=>X,parse:()=>J});class r extends AggregateError{constructor(e,t,r){super(e,t,r),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const n=r;class s extends Error{static[Symbol.hasInstance](e){return super[Symbol.hasInstance](e)||Function.prototype[Symbol.hasInstance].call(n,e)}constructor(e,t){super(e,t),this.name=this.constructor.name,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}const o=s;const i=class extends o{constructor(e,t){if(super(e,t),null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}};const a=class extends i{};class c extends a{relativePointer;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer)}}const l=class extends a{relativePointer;currentElement;rootElement;cursorElement;constructor(e,t){super(e,t),void 0!==t&&(this.relativePointer=t.relativePointer,this.currentElement=t.currentElement,this.rootElement=t.rootElement,this.cursorElement=t.cursorElement)}};const u=class extends a{nonNegativeIntegerPrefix;indexManipulation;jsonPointerTokens;hashCharacter;constructor(e,t){super(e,t),void 0!==t&&(this.nonNegativeIntegerPrefix=t.relativePointer.nonNegativeIntegerPrefix,this.indexManipulation=t.relativePointer.indexManipulation,this.hashCharacter=t.relativePointer.hashCharacter,Array.isArray(t.relativePointer.jsonPointerTokens)&&(this.jsonPointerTokens=[...t.relativePointer.jsonPointerTokens]))}},p=function(){const e=y,t=m,r=this,n="parser.js: Parser(): ";r.ast=void 0,r.stats=void 0,r.trace=void 0,r.callbacks=[];let s,o,i,a,c,l,u,p=0,d=0,h=0,f=0,g=0,x=new function(){this.state=e.ACTIVE,this.phraseLength=0,this.refresh=()=>{this.state=e.ACTIVE,this.phraseLength=0}};r.parse=(m,y,w,b)=>{const v=`${n}parse(): `;p=0,d=0,h=0,f=0,g=0,s=void 0,o=void 0,i=void 0,a=void 0,x.refresh(),c=void 0,l=void 0,u=void 0,a=t.stringToChars(w),s=m.rules,o=m.udts;const T=y.toLowerCase();let A;for(const e in s)if(s.hasOwnProperty(e)&&T===s[e].lower){A=s[e].index;break}if(void 0===A)throw new Error(`${v}start rule name '${startRule}' not recognized`);(()=>{const e=`${n}initializeCallbacks(): `;let t,i;for(c=[],l=[],t=0;t<s.length;t+=1)c[t]=void 0;for(t=0;t<o.length;t+=1)l[t]=void 0;const a=[];for(t=0;t<s.length;t+=1)a.push(s[t].lower);for(t=0;t<o.length;t+=1)a.push(o[t].lower);for(const n in r.callbacks)if(r.callbacks.hasOwnProperty(n)){if(t=a.indexOf(n.toLowerCase()),t<0)throw new Error(`${e}syntax callback '${n}' not a rule or udt name`);if(i=r.callbacks[n]?r.callbacks[n]:void 0,"function"!=typeof i&&void 0!==i)throw new Error(`${e}syntax callback[${n}] must be function reference or falsy)`);t<s.length?c[t]=i:l[t-s.length]=i}})(),r.trace&&r.trace.init(s,o,a),r.stats&&r.stats.init(s,o),r.ast&&r.ast.init(s,o,a),u=b,i=[{type:e.RNM,index:A}],k(0,0),i=void 0;let S=!1;switch(x.state){case e.ACTIVE:throw new Error(`${v}final state should never be 'ACTIVE'`);case e.NOMATCH:S=!1;break;case e.EMPTY:case e.MATCH:S=x.phraseLength===a.length;break;default:throw new Error("unrecognized state")}return{success:S,state:x.state,stateName:e.idName(x.state),length:a.length,matched:x.phraseLength,maxMatched:g,maxTreeDepth:h,nodeHits:f}};const w=(t,r,s,o)=>{if(r.phraseLength>s){let e=`${n}opRNM(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:if(!o)throw new Error(`${n}opRNM(${t.name}): callback function return error. ACTIVE state not allowed.`);break;case e.EMPTY:r.phraseLength=0;break;case e.MATCH:0===r.phraseLength&&(r.state=e.EMPTY);break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opRNM(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}},b=(t,c)=>{let d,h,f;const m=i[t],y=o[m.index];x.UdtIndex=y.index,p||(f=r.ast&&r.ast.udtDefined(m.index),f&&(h=s.length+m.index,d=r.ast.getLength(),r.ast.down(h,y.name)));const g=a.length-c;l[m.index](x,a,c,u),((t,r,s)=>{if(r.phraseLength>s){let e=`${n}opUDT(${t.name}): callback function error: `;throw e+=`sysData.phraseLength: ${r.phraseLength}`,e+=` must be <= remaining chars: ${s}`,new Error(e)}switch(r.state){case e.ACTIVE:throw new Error(`${n}opUDT(${t.name}) ACTIVE state return not allowed.`);case e.EMPTY:if(!t.empty)throw new Error(`${n}opUDT(${t.name}) may not return EMPTY.`);r.phraseLength=0;break;case e.MATCH:if(0===r.phraseLength){if(!t.empty)throw new Error(`${n}opUDT(${t.name}) may not return EMPTY.`);r.state=e.EMPTY}break;case e.NOMATCH:r.phraseLength=0;break;default:throw new Error(`${n}opUDT(${t.name}): callback function return error. Unrecognized return state: ${r.state}`)}})(y,x,g),p||f&&(x.state===e.NOMATCH?r.ast.setLength(d):r.ast.up(h,y.name,c,x.phraseLength))},k=(t,o)=>{const l=`${n}opExecute(): `,m=i[t];switch(f+=1,d>h&&(h=d),d+=1,x.refresh(),r.trace&&r.trace.down(m,o),m.type){case e.ALT:((t,r)=>{const n=i[t];for(let t=0;t<n.children.length&&(k(n.children[t],r),x.state===e.NOMATCH);t+=1);})(t,o);break;case e.CAT:((t,n)=>{let s,o,a,c;const l=i[t];r.ast&&(o=r.ast.getLength()),s=!0,a=n,c=0;for(let t=0;t<l.children.length;t+=1){if(k(l.children[t],a),x.state===e.NOMATCH){s=!1;break}a+=x.phraseLength,c+=x.phraseLength}s?(x.state=0===c?e.EMPTY:e.MATCH,x.phraseLength=c):(x.state=e.NOMATCH,x.phraseLength=0,r.ast&&r.ast.setLength(o))})(t,o);break;case e.REP:((t,n)=>{let s,o,c,l;const u=i[t];if(0===u.max)return x.state=e.EMPTY,void(x.phraseLength=0);for(o=n,c=0,l=0,r.ast&&(s=r.ast.getLength());!(o>=a.length)&&(k(t+1,o),x.state!==e.NOMATCH)&&x.state!==e.EMPTY&&(l+=1,c+=x.phraseLength,o+=x.phraseLength,l!==u.max););x.state===e.EMPTY||l>=u.min?(x.state=0===c?e.EMPTY:e.MATCH,x.phraseLength=c):(x.state=e.NOMATCH,x.phraseLength=0,r.ast&&r.ast.setLength(s))})(t,o);break;case e.RNM:((t,n)=>{let o,l,d;const h=i[t],f=s[h.index],m=c[f.index];if(p||(l=r.ast&&r.ast.ruleDefined(h.index),l&&(o=r.ast.getLength(),r.ast.down(h.index,s[h.index].name))),m){const t=a.length-n;m(x,a,n,u),w(f,x,t,!0),x.state===e.ACTIVE&&(d=i,i=f.opcodes,k(0,n),i=d,m(x,a,n,u),w(f,x,t,!1))}else d=i,i=f.opcodes,k(0,n,x),i=d;p||l&&(x.state===e.NOMATCH?r.ast.setLength(o):r.ast.up(h.index,f.name,n,x.phraseLength))})(t,o);break;case e.TRG:((t,r)=>{const n=i[t];x.state=e.NOMATCH,r<a.length&&n.min<=a[r]&&a[r]<=n.max&&(x.state=e.MATCH,x.phraseLength=1)})(t,o);break;case e.TBS:((t,r)=>{const n=i[t],s=n.string.length;if(x.state=e.NOMATCH,r+s<=a.length){for(let e=0;e<s;e+=1)if(a[r+e]!==n.string[e])return;x.state=e.MATCH,x.phraseLength=s}})(t,o);break;case e.TLS:((t,r)=>{let n;const s=i[t];x.state=e.NOMATCH;const o=s.string.length;if(0!==o){if(r+o<=a.length){for(let e=0;e<o;e+=1)if(n=a[r+e],n>=65&&n<=90&&(n+=32),n!==s.string[e])return;x.state=e.MATCH,x.phraseLength=o}}else x.state=e.EMPTY})(t,o);break;case e.UDT:b(t,o);break;case e.AND:((t,r)=>{switch(p+=1,k(t+1,r),p-=1,x.phraseLength=0,x.state){case e.EMPTY:case e.MATCH:x.state=e.EMPTY;break;case e.NOMATCH:x.state=e.NOMATCH;break;default:throw new Error(`opAND: invalid state ${x.state}`)}})(t,o);break;case e.NOT:((t,r)=>{switch(p+=1,k(t+1,r),p-=1,x.phraseLength=0,x.state){case e.EMPTY:case e.MATCH:x.state=e.NOMATCH;break;case e.NOMATCH:x.state=e.EMPTY;break;default:throw new Error(`opNOT: invalid state ${x.state}`)}})(t,o);break;default:throw new Error(`${l}unrecognized operator`)}p||o+x.phraseLength>g&&(g=o+x.phraseLength),r.stats&&r.stats.collect(m,x),r.trace&&r.trace.up(m,x.state,o,x.phraseLength),d-=1}},d=function(){const e=y,t=m,r=this;let n,s,o,i=0;const a=[],c=[],l=[];function u(e){let t="";for(;e-- >0;)t+=" ";return t}r.callbacks=[],r.init=(e,t,u)=>{let p;c.length=0,l.length=0,i=0,n=e,s=t,o=u;const d=[];for(p=0;p<n.length;p+=1)d.push(n[p].lower);for(p=0;p<s.length;p+=1)d.push(s[p].lower);for(i=n.length+s.length,p=0;p<i;p+=1)a[p]=void 0;for(const e in r.callbacks)if(r.callbacks.hasOwnProperty(e)){const t=e.toLowerCase();if(p=d.indexOf(t),p<0)throw new Error(`parser.js: Ast()): init: node '${e}' not a rule or udt name`);a[p]=r.callbacks[e]}},r.ruleDefined=e=>!!a[e],r.udtDefined=e=>!!a[n.length+e],r.down=(t,r)=>{const n=l.length;return c.push(n),l.push({name:r,thisIndex:n,thatIndex:void 0,state:e.SEM_PRE,callbackIndex:t,phraseIndex:void 0,phraseLength:void 0,stack:c.length}),n},r.up=(t,r,n,s)=>{const o=l.length,i=c.pop();return l.push({name:r,thisIndex:o,thatIndex:i,state:e.SEM_POST,callbackIndex:t,phraseIndex:n,phraseLength:s,stack:c.length}),l[i].thatIndex=o,l[i].phraseIndex=n,l[i].phraseLength=s,o},r.translate=t=>{let r,n;for(let s=0;s<l.length;s+=1)n=l[s],r=a[n.callbackIndex],r&&(n.state===e.SEM_PRE?r(e.SEM_PRE,o,n.phraseIndex,n.phraseLength,t):r&&r(e.SEM_POST,o,n.phraseIndex,n.phraseLength,t))},r.setLength=e=>{l.length=e,c.length=e>0?l[e-1].stack:0},r.getLength=()=>l.length,r.toXml=()=>{let r="",n=0;return r+='<?xml version="1.0" encoding="utf-8"?>\n',r+=`<root nodes="${l.length/2}" characters="${o.length}">\n`,r+="\x3c!-- input string --\x3e\n",r+=u(n+2),r+=t.charsToString(o),r+="\n",l.forEach(s=>{s.state===e.SEM_PRE?(n+=1,r+=u(n),r+=`<node name="${s.name}" index="${s.phraseIndex}" length="${s.phraseLength}">\n`,r+=u(n+2),r+=t.charsToString(o,s.phraseIndex,s.phraseLength),r+="\n"):(r+=u(n),r+=`</node>\x3c!-- name="${s.name}" --\x3e\n`,n-=1)}),r+="</root>\n",r}},h=function(){const e=y,t=m,r="parser.js: Trace(): ";let n,s,o,i="",a=0;const c=this,l=e=>{let t="",r=0;if(e>=0)for(;e--;)r+=1,5===r?(t+="|",r=0):t+=".";return t};c.init=(e,t,r)=>{s=e,o=t,n=r};const u=n=>{let i;switch(n.type){case e.ALT:i="ALT";break;case e.CAT:i="CAT";break;case e.REP:i=n.max===1/0?`REP(${n.min},inf)`:`REP(${n.min},${n.max})`;break;case e.RNM:i=`RNM(${s[n.index].name})`;break;case e.TRG:i=`TRG(${n.min},${n.max})`;break;case e.TBS:i=n.string.length>6?`TBS(${t.charsToString(n.string,0,3)}...)`:`TBS(${t.charsToString(n.string,0,6)})`;break;case e.TLS:i=n.string.length>6?`TLS(${t.charsToString(n.string,0,3)}...)`:`TLS(${t.charsToString(n.string,0,6)})`;break;case e.UDT:i=`UDT(${o[n.index].name})`;break;case e.AND:i="AND";break;case e.NOT:i="NOT";break;default:throw new Error(`${r}Trace: opName: unrecognized opcode`)}return i};c.down=(e,r)=>{const s=l(a),o=Math.min(100,n.length-r);let c=t.charsToString(n,r,o);o<n.length-r&&(c+="..."),c=`${s}|-|[${u(e)}]${c}\n`,i+=c,a+=1},c.up=(s,o,c,p)=>{const d=`${r}trace.up: `;a-=1;const h=l(a);let f,m,y;switch(o){case e.EMPTY:y="|E|",m="''";break;case e.MATCH:y="|M|",f=Math.min(100,p),m=f<p?`'${t.charsToString(n,c,f)}...'`:`'${t.charsToString(n,c,f)}'`;break;case e.NOMATCH:y="|N|",m="";break;default:throw new Error(`${d} unrecognized state`)}m=`${h}${y}[${u(s)}]${m}\n`,i+=m},c.displayTrace=()=>i},f=function(){const e=y;let t,r,n;const s=[],o=[],i=[];this.init=(e,n)=>{t=e,r=n,d()},this.collect=(t,r)=>{h(n,r.state,r.phraseLength),h(s[t.type],r.state,r.phraseLength),t.type===e.RNM&&h(o[t.index],r.state,r.phraseLength),t.type===e.UDT&&h(i[t.index],r.state,r.phraseLength)},this.displayStats=()=>{let t="";const r={match:0,empty:0,nomatch:0,total:0},n=(e,t,n,s,o)=>{r.match+=t,r.empty+=n,r.nomatch+=s,r.total+=o;return`${e} | ${a(t)} | ${a(n)} | ${a(s)} | ${a(o)} |\n`};return t+=" OPERATOR STATS\n",t+=" | MATCH | EMPTY | NOMATCH | TOTAL |\n",t+=n(" ALT",s[e.ALT].match,s[e.ALT].empty,s[e.ALT].nomatch,s[e.ALT].total),t+=n(" CAT",s[e.CAT].match,s[e.CAT].empty,s[e.CAT].nomatch,s[e.CAT].total),t+=n(" REP",s[e.REP].match,s[e.REP].empty,s[e.REP].nomatch,s[e.REP].total),t+=n(" RNM",s[e.RNM].match,s[e.RNM].empty,s[e.RNM].nomatch,s[e.RNM].total),t+=n(" TRG",s[e.TRG].match,s[e.TRG].empty,s[e.TRG].nomatch,s[e.TRG].total),t+=n(" TBS",s[e.TBS].match,s[e.TBS].empty,s[e.TBS].nomatch,s[e.TBS].total),t+=n(" TLS",s[e.TLS].match,s[e.TLS].empty,s[e.TLS].nomatch,s[e.TLS].total),t+=n(" UDT",s[e.UDT].match,s[e.UDT].empty,s[e.UDT].nomatch,s[e.UDT].total),t+=n(" AND",s[e.AND].match,s[e.AND].empty,s[e.AND].nomatch,s[e.AND].total),t+=n(" NOT",s[e.NOT].match,s[e.NOT].empty,s[e.NOT].nomatch,s[e.NOT].total),t+=n("TOTAL",r.match,r.empty,r.nomatch,r.total),t},this.displayHits=e=>{let t="";const r=(e,t,r,s,o)=>{n.match+=e,n.empty+=t,n.nomatch+=r,n.total+=s;return`| ${a(e)} | ${a(t)} | ${a(r)} | ${a(s)} | ${o}\n`};"string"==typeof e&&"a"===e.toLowerCase()[0]?(o.sort(c),i.sort(c),t+=" RULES/UDTS ALPHABETICALLY\n"):"string"==typeof e&&"i"===e.toLowerCase()[0]?(o.sort(u),i.sort(u),t+=" RULES/UDTS BY INDEX\n"):(o.sort(l),i.sort(l),t+=" RULES/UDTS BY HIT COUNT\n"),t+="| MATCH | EMPTY | NOMATCH | TOTAL | NAME\n";for(let e=0;e<o.length;e+=1){let n=o[e];n.total&&(t+=r(n.match,n.empty,n.nomatch,n.total,n.name))}for(let e=0;e<i.length;e+=1){let n=i[e];n.total&&(t+=r(n.match,n.empty,n.nomatch,n.total,n.name))}return t};const a=e=>e<10?` ${e}`:e<100?` ${e}`:e<1e3?` ${e}`:e<1e4?` ${e}`:e<1e5?` ${e}`:e<1e6?` ${e}`:`${e}`,c=(e,t)=>e.lower<t.lower?-1:e.lower>t.lower?1:0,l=(e,t)=>e.total<t.total?1:e.total>t.total?-1:c(e,t),u=(e,t)=>e.index<t.index?-1:e.index>t.index?1:0,p=function(){this.empty=0,this.match=0,this.nomatch=0,this.total=0},d=()=>{s.length=0,n=new p,s[e.ALT]=new p,s[e.CAT]=new p,s[e.REP]=new p,s[e.RNM]=new p,s[e.TRG]=new p,s[e.TBS]=new p,s[e.TLS]=new p,s[e.UDT]=new p,s[e.AND]=new p,s[e.NOT]=new p,o.length=0;for(let e=0;e<t.length;e+=1)o.push({empty:0,match:0,nomatch:0,total:0,name:t[e].name,lower:t[e].lower,index:t[e].index});if(r.length>0){i.length=0;for(let e=0;e<r.length;e+=1)i.push({empty:0,match:0,nomatch:0,total:0,name:r[e].name,lower:r[e].lower,index:r[e].index})}},h=(t,r)=>{switch(t.total+=1,r){case e.EMPTY:t.empty+=1;break;case e.MATCH:t.match+=1;break;case e.NOMATCH:t.nomatch+=1;break;default:throw new Error(`parser.js: Stats(): collect(): incStat(): unrecognized state: ${r}`)}}},m={stringToChars:e=>[...e].map(e=>e.codePointAt(0)),charsToString:(e,t,r)=>{let n=e;for(;!(void 0===t||t<0);){if(void 0===r){n=e.slice(t);break}if(r<=0)return"";n=e.slice(t,t+r);break}return String.fromCodePoint(...n)}},y={ALT:1,CAT:2,REP:3,RNM:4,TRG:5,TBS:6,TLS:7,UDT:11,AND:12,NOT:13,ACTIVE:100,MATCH:101,EMPTY:102,NOMATCH:103,SEM_PRE:200,SEM_POST:201,SEM_OK:300,idName:e=>{switch(e){case y.ALT:return"ALT";case y.CAT:return"CAT";case y.REP:return"REP";case y.RNM:return"RNM";case y.TRG:return"TRG";case y.TBS:return"TBS";case y.TLS:return"TLS";case y.UDT:return"UDT";case y.AND:return"AND";case y.NOT:return"NOT";case y.ACTIVE:return"ACTIVE";case y.EMPTY:return"EMPTY";case y.MATCH:return"MATCH";case y.NOMATCH:return"NOMATCH";case y.SEM_PRE:return"SEM_PRE";case y.SEM_POST:return"SEM_POST";case y.SEM_OK:return"SEM_OK";default:return"UNRECOGNIZED STATE"}}};function g(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"json-pointer",lower:"json-pointer",index:0,isBkr:!1},this.rules[1]={name:"reference-token",lower:"reference-token",index:1,isBkr:!1},this.rules[2]={name:"unescaped",lower:"unescaped",index:2,isBkr:!1},this.rules[3]={name:"escaped",lower:"escaped",index:3,isBkr:!1},this.rules[4]={name:"array-location",lower:"array-location",index:4,isBkr:!1},this.rules[5]={name:"array-index",lower:"array-index",index:5,isBkr:!1},this.rules[6]={name:"array-dash",lower:"array-dash",index:6,isBkr:!1},this.rules[7]={name:"slash",lower:"slash",index:7,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:3,min:0,max:1/0},this.rules[0].opcodes[1]={type:2,children:[2,3]},this.rules[0].opcodes[2]={type:4,index:7},this.rules[0].opcodes[3]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:1,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:2},this.rules[1].opcodes[3]={type:4,index:3},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3]},this.rules[2].opcodes[1]={type:5,min:0,max:46},this.rules[2].opcodes[2]={type:5,min:48,max:125},this.rules[2].opcodes[3]={type:5,min:127,max:1114111},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:2,children:[1,2]},this.rules[3].opcodes[1]={type:7,string:[126]},this.rules[3].opcodes[2]={type:1,children:[3,4]},this.rules[3].opcodes[3]={type:7,string:[48]},this.rules[3].opcodes[4]={type:7,string:[49]},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:1,children:[1,2]},this.rules[4].opcodes[1]={type:4,index:5},this.rules[4].opcodes[2]={type:4,index:6},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2]},this.rules[5].opcodes[1]={type:6,string:[48]},this.rules[5].opcodes[2]={type:2,children:[3,4]},this.rules[5].opcodes[3]={type:5,min:49,max:57},this.rules[5].opcodes[4]={type:3,min:0,max:1/0},this.rules[5].opcodes[5]={type:5,min:48,max:57},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:7,string:[45]},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:7,string:[47]},this.toString=function(){let e="";return e+="; JavaScript Object Notation (JSON) Pointer ABNF syntax\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901\n",e+="json-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\n",e+="reference-token = *( unescaped / escaped )\n",e+="unescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n",e+=" ; %x2F ('/') and %x7E ('~') are excluded from 'unescaped'\n",e+='escaped = "~" ( "0" / "1" )\n',e+=" ; representing '~' and '/', respectively\n",e+="\n",e+="; https://datatracker.ietf.org/doc/html/rfc6901#section-4\n",e+="array-location = array-index / array-dash\n",e+="array-index = %x30 / ( %x31-39 *(%x30-39) )\n",e+=' ; "0", or digits without a leading "0"\n',e+='array-dash = "-"\n',e+="\n",e+="; Surrogate named rules\n",e+='slash = "/"\n','; JavaScript Object Notation (JSON) Pointer ABNF syntax\n; https://datatracker.ietf.org/doc/html/rfc6901\njson-pointer = *( slash reference-token ) ; MODIFICATION: surrogate text rule used\nreference-token = *( unescaped / escaped )\nunescaped = %x00-2E / %x30-7D / %x7F-10FFFF\n ; %x2F (\'/\') and %x7E (\'~\') are excluded from \'unescaped\'\nescaped = "~" ( "0" / "1" )\n ; representing \'~\' and \'/\', respectively\n\n; https://datatracker.ietf.org/doc/html/rfc6901#section-4\narray-location = array-index / array-dash\narray-index = %x30 / ( %x31-39 *(%x30-39) )\n ; "0", or digits without a leading "0"\narray-dash = "-"\n\n; Surrogate named rules\nslash = "/"\n'}}class x extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}}const w=x;const b=class extends w{},k=e=>(t,r,n,s,o)=>{if("object"!=typeof o||null===o||Array.isArray(o))throw new b("parser's user data must be an object");if(t===y.SEM_PRE){const t={type:e,text:m.charsToString(r,n,s),start:n,length:s,children:[]};if(o.stack.length>0){o.stack[o.stack.length-1].children.push(t)}else o.root=t;o.stack.push(t)}t===y.SEM_POST&&o.stack.pop()};const v=class extends d{constructor(){super(),this.callbacks["json-pointer"]=k("json-pointer"),this.callbacks["reference-token"]=k("reference-token"),this.callbacks.slash=k("text")}getTree(){const e={stack:[],root:null};return this.translate(e),delete e.stack,e}},T=e=>{if("string"!=typeof e)throw new TypeError("Reference token must be a string");return e.replace(/~1/g,"/").replace(/~0/g,"~")};const A=class extends v{getTree(){const{root:e}=super.getTree();return e.children.filter(({type:e})=>"reference-token"===e).map(({text:e})=>T(e))}};const S=class extends Array{toString(){return this.map(e=>`"${String(e)}"`).join(", ")}};const O=class extends h{inferExpectations(){const e=this.displayTrace().split("\n"),t=new Set;let r=-1;for(let n=0;n<e.length;n++){const s=e[n];if(s.includes("M|")){const e=s.match(/]'(.*)'$/);e&&e[1]&&(r=n)}if(n>r){const e=s.match(/N\|\[TLS\(([^)]+)\)]/);e&&t.add(e[1])}}return new S(...t)}},E=new g,I=(e,{translator:t=new A,stats:r=!1,trace:n=!1}={})=>{if("string"!=typeof e)throw new TypeError("JSON Pointer must be a string");try{const s=new p;t&&(s.ast=t),r&&(s.stats=new f),n&&(s.trace=new O);const o=s.parse(E,"json-pointer",e);return{result:o,tree:o.success&&t?s.ast.getTree():void 0,stats:s.stats,trace:s.trace}}catch(t){throw new b("Unexpected error during JSON Pointer parsing",{cause:t,jsonPointer:e})}};new g,new p,new g,new p;const C=new g,P=new p,M=e=>{if("string"!=typeof e)return!1;try{return P.parse(C,"array-index",e).success}catch{return!1}},N=new g,j=new p,D=e=>{if("string"!=typeof e)return!1;try{return j.parse(N,"array-dash",e).success}catch{return!1}},F=e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return String(e).replace(/~/g,"~0").replace(/\//g,"~1")};const B=class extends w{},L=e=>{if(!Array.isArray(e))throw new TypeError("Reference tokens must be a list of strings or numbers");try{return 0===e.length?"":`/${e.map(e=>{if("string"!=typeof e&&"number"!=typeof e)throw new TypeError("Reference token must be a string or number");return F(String(e))}).join("/")}`}catch(t){throw new B("Unexpected error during JSON Pointer compilation",{cause:t,referenceTokens:e})}};const $=class{#e;#t;#r;constructor(e,t={}){this.#e=e,this.#e.steps=[],this.#e.failed=!1,this.#e.failedAt=-1,this.#e.message=`JSON Pointer "${t.jsonPointer}" was successfully evaluated against the provided value`,this.#e.context={...t,realm:t.realm.name},this.#t=[],this.#r=t.realm}step({referenceToken:e,input:t,output:r,success:n=!0,reason:s}){const o=this.#t.length;this.#t.push(e);const i={referenceToken:e,referenceTokenPosition:o,input:t,inputType:this.#r.isObject(t)?"object":this.#r.isArray(t)?"array":"unrecognized",output:r,success:n};s&&(i.reason=s),this.#e.steps.push(i),n||(this.#e.failed=!0,this.#e.failedAt=o,this.#e.message=s)}};const q=class{name="";isArray(e){throw new w("Realm.isArray(node) must be implemented in a subclass")}isObject(e){throw new w("Realm.isObject(node) must be implemented in a subclass")}sizeOf(e){throw new w("Realm.sizeOf(node) must be implemented in a subclass")}has(e,t){throw new w("Realm.has(node) must be implemented in a subclass")}evaluate(e,t){throw new w("Realm.evaluate(node) must be implemented in a subclass")}};const _=class extends w{};const R=class extends _{};const U=class extends q{name="json";isArray(e){return Array.isArray(e)}isObject(e){return"object"==typeof e&&null!==e&&!this.isArray(e)}sizeOf(e){return this.isArray(e)?e.length:this.isObject(e)?Object.keys(e).length:0}has(e,t){if(this.isArray(e)){const r=Number(t),n=r>>>0;if(r!==n)throw new R(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return n<this.sizeOf(e)&&Object.prototype.hasOwnProperty.call(e,r)}return!!this.isObject(e)&&Object.prototype.hasOwnProperty.call(e,t)}evaluate(e,t){return this.isArray(e)?e[Number(t)]:e[t]}};const H=class extends _{};const G=class extends _{},z=(e,t,{strictArrays:r=!0,strictObjects:n=!0,realm:s=new U,trace:o=!0}={})=>{const{result:i,tree:a,trace:c}=I(t,{trace:!!o}),l="object"==typeof o&&null!==o?new $(o,{jsonPointer:t,referenceTokens:a,strictArrays:r,strictObjects:n,realm:s,value:e}):null;try{let o;if(!i.success){let r=`Invalid JSON Pointer: "${t}". Syntax error at position ${i.maxMatched}`;throw r+=c?`, expected ${c.inferExpectations()}`:"",new _(r,{jsonPointer:t,currentValue:e,realm:s.name})}return a.reduce((e,i,c)=>{if(s.isArray(e)){if(D(i)){if(r)throw new R(`Invalid array index "-" at position ${c} in "${t}". The "-" token always refers to a nonexistent element during evaluation`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,String(s.sizeOf(e))),null==l||l.step({referenceToken:i,input:e,output:o}),o}if(!M(i))throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index MUST be "0", or digits without a leading "0"`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});const n=Number(i);if(!Number.isSafeInteger(n))throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index must be a safe integer`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});if(!s.has(e,i)&&r)throw new R(`Invalid array index "${i}" at position ${c} in "${t}": index not found in array`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,i),null==l||l.step({referenceToken:i,input:e,output:o}),o}if(s.isObject(e)){if(!s.has(e,i)&&n)throw new G(`Invalid object key "${i}" at position ${c} in "${t}": key not found in object`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name});return o=s.evaluate(e,i),null==l||l.step({referenceToken:i,input:e,output:o}),o}throw new H(`Invalid reference token "${i}" at position ${c} in "${t}": cannot be applied to a non-object/non-array value`,{jsonPointer:t,referenceTokens:a,referenceToken:i,referenceTokenPosition:c,currentValue:e,realm:s.name})},e)}catch(e){if(null==l||l.step({referenceToken:e.referenceToken,input:e.currentValue,success:!1,reason:e.message}),e instanceof _)throw e;throw new _("Unexpected error during JSON Pointer evaluation",{cause:e,jsonPointer:t,referenceTokens:a})}};const V=new RegExp("^(?<nonNegativeIntegerPrefix>[1-9]\\d*|0)(?<indexManipulation>[+-][1-9]\\d*|0)?((?<hashCharacter>#)|(?<jsonPointer>\\/.*))?$"),X=e=>"string"==typeof e&&V.test(e),J=e=>{const t=e.match(V);if(null===t||void 0===t.groups)throw new c(`Invalid Relative JSON Pointer "${e}".`,{relativePointer:e});try{const e=parseInt(t.groups.nonNegativeIntegerPrefix,10),r="string"==typeof t.groups.indexManipulation?parseInt(t.groups.indexManipulation,10):void 0,n="string"==typeof t.groups.jsonPointer?I(t.groups.jsonPointer).tree:void 0;return{nonNegativeIntegerPrefix:e,indexManipulation:r,jsonPointerTokens:n,hashCharacter:"string"==typeof t.groups.hashCharacter}}catch(t){throw new c(`Relative JSON Pointer parsing of "${e}" encountered an error.`,{relativePointer:e,cause:t})}},Y=e=>{try{let t="";return t+=String(e.nonNegativeIntegerPrefix),"number"==typeof e.indexManipulation&&(t+=String(e.indexManipulation)),Array.isArray(e.jsonPointerTokens)?t+=L(e.jsonPointerTokens):e.hashCharacter&&(t+="#"),t}catch(t){throw new u("Relative JSON Pointer compilation encountered an error.",{relativePointer:e,cause:t})}};function W(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function K(e){return function t(r){return 0===arguments.length||W(r)?t:e.apply(this,arguments)}}function Z(e){return function t(r,n){switch(arguments.length){case 0:return t;case 1:return W(r)?t:K(function(t){return e(r,t)});default:return W(r)&&W(n)?t:W(r)?K(function(t){return e(t,n)}):W(n)?K(function(t){return e(r,t)}):e(r,n)}}}function Q(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function ee(e,t,r){for(var n=0,s=r.length;n<s;){if(e(t,r[n]))return!0;n+=1}return!1}function te(e,t){return Object.prototype.hasOwnProperty.call(t,e)}const re="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};var ne=Object.prototype.toString;const se=function(){return"[object Arguments]"===ne.call(arguments)?function(e){return"[object Arguments]"===ne.call(e)}:function(e){return te("callee",e)}}();var oe=!{toString:null}.propertyIsEnumerable("toString"),ie=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ae=function(){return arguments.propertyIsEnumerable("length")}(),ce=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},le="function"!=typeof Object.keys||ae?K(function(e){if(Object(e)!==e)return[];var t,r,n=[],s=ae&&se(e);for(t in e)!te(t,e)||s&&"length"===t||(n[n.length]=t);if(oe)for(r=ie.length-1;r>=0;)te(t=ie[r],e)&&!ce(n,t)&&(n[n.length]=t),r-=1;return n}):K(function(e){return Object(e)!==e?[]:Object.keys(e)});const ue=le;const pe=K(function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function de(e,t,r,n){var s=Q(e);function o(e,t){return he(e,t,r.slice(),n.slice())}return!ee(function(e,t){return!ee(o,t,e)},Q(t),s)}function he(e,t,r,n){if(re(e,t))return!0;var s,o,i=pe(e);if(i!==pe(t))return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(i){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===(s=e.constructor,null==(o=String(s).match(/^function (\w*)/))?"":o[1]))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!re(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!re(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var a=r.length-1;a>=0;){if(r[a]===e)return n[a]===t;a-=1}switch(i){case"Map":return e.size===t.size&&de(e.entries(),t.entries(),r.concat([e]),n.concat([t]));case"Set":return e.size===t.size&&de(e.values(),t.values(),r.concat([e]),n.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var c=ue(e);if(c.length!==ue(t).length)return!1;var l=r.concat([e]),u=n.concat([t]);for(a=c.length-1;a>=0;){var p=c[a];if(!te(p,t)||!he(t[p],e[p],l,u))return!1;a-=1}return!0}const fe=Z(function(e,t){return he(e,t,[],[])});const me=class{key;value;constructor(e,t){this.key=e,this.value=t}toValue(){return{key:this.key?.toValue(),value:this.value?.toValue()}}};class ye{elements;constructor(e){this.elements=e??[]}toValue(){return this.elements.map(e=>({key:e.key?.toValue(),value:e.value?.toValue()}))}map(e,t){return this.elements.map(r=>{const n=r.value,s=r.key;if(void 0===n||void 0===s)throw new Error("MemberElement must have both key and value");return void 0!==t?e.call(t,n,s,r):e(n,s,r)})}filter(e,t){const r=this.elements.filter(r=>{const n=r.value,s=r.key;return void 0!==n&&void 0!==s&&(void 0!==t?e.call(t,n,s,r):e(n,s,r))});return new ye(r)}reject(e,t){const r=[];for(const n of this.elements){const s=n.value,o=n.key;void 0!==s&&void 0!==o&&(e.call(t,s,o,n)||r.push(n))}return new ye(r)}forEach(e,t){this.elements.forEach((r,n)=>{const s=r.value,o=r.key;void 0!==s&&void 0!==o&&(void 0!==t?e.call(t,s,o,r,n):e(s,o,r,n))})}find(e,t){return this.elements.find(r=>{const n=r.value,s=r.key;return void 0!==n&&void 0!==s&&(void 0!==t?e.call(t,n,s,r):e(n,s,r))})}keys(){return this.elements.map(e=>e.key?.toValue()).filter(e=>void 0!==e)}values(){return this.elements.map(e=>e.value?.toValue()).filter(e=>void 0!==e)}get length(){return this.elements.length}get isEmpty(){return 0===this.length}get first(){return this.elements[0]}get(e){return this.elements[e]}push(e){return this.elements.push(e),this}includesKey(e){return this.elements.some(t=>t.key?.equals(e))}[Symbol.iterator](){return this.elements[Symbol.iterator]()}}const ge=ye;class xe{parent;startLine;startCharacter;startOffset;endLine;endCharacter;endOffset;_storedElement="element";_content;_meta;_attributes;constructor(e,t,r){void 0!==t&&(this.meta=t),void 0!==r&&(this.attributes=r),void 0!==e&&(this.content=e)}get element(){return this._storedElement}set element(e){this._storedElement=e}get content(){return this._content}set content(e){if(e instanceof xe)this._content=e;else if(null!=e&&"string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e&&"bigint"!=typeof e&&"symbol"!=typeof e)if(e instanceof me)this._content=e;else if(e instanceof ge)this._content=e.elements;else if(Array.isArray(e))this._content=e.map(e=>this.refract(e));else{if("object"!=typeof e)throw new Error("Cannot set content to value of type "+typeof e);this._content=Object.entries(e).map(([e,t])=>new this.MemberElement(e,t))}else this._content=e}get meta(){if(!this._meta){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._meta=new this.ObjectElement}return this._meta}set meta(e){e instanceof xe?this._meta=e:this.meta.set(e??{})}get attributes(){if(!this._attributes){if(this.isFrozen){const e=new this.ObjectElement;return e.freeze(),e}this._attributes=new this.ObjectElement}return this._attributes}set attributes(e){e instanceof xe?this._attributes=e:this.attributes.set(e??{})}get id(){return this.getMetaProperty("id","")}set id(e){this.setMetaProperty("id",e)}get classes(){return this.getMetaProperty("classes",[])}set classes(e){this.setMetaProperty("classes",e)}get links(){return this.getMetaProperty("links",[])}set links(e){this.setMetaProperty("links",e)}get children(){const{_content:e}=this;if(Array.isArray(e))return e;if(e instanceof me){const t=[];return e.key&&t.push(e.key),e.value&&t.push(e.value),t}return e instanceof xe?[e]:[]}get isFrozen(){return Object.isFrozen(this)}freeze(){if(!this.isFrozen){this._meta&&(this._meta.parent=this,this._meta.freeze()),this._attributes&&(this._attributes.parent=this,this._attributes.freeze());for(const e of this.children)e.parent=this,e.freeze();Array.isArray(this._content)&&Object.freeze(this._content),Object.freeze(this)}}toValue(){const{_content:e}=this;return e instanceof xe||e instanceof me?e.toValue():Array.isArray(e)?e.map(e=>e.toValue()):e}equals(e){return fe(this.toValue(),e)}primitive(){}set(e){return this.content=e,this}toRef(e){const t=this.id.toValue();if(""===t)throw new Error("Cannot create reference to an element without an ID");const r=new this.RefElement(t);return"string"==typeof e&&(r.path=this.refract(e)),r}getMetaProperty(e,t){if(!this.meta.hasKey(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.meta.set(e,t)}return this.meta.get(e)}setMetaProperty(e,t){this.meta.set(e,t)}hasMetaProperty(e){return!this.isMetaEmpty&&this.meta.hasKey(e)}get isMetaEmpty(){return void 0===this._meta||this.meta.isEmpty}getAttributesProperty(e,t){if(!this.hasAttributesProperty(e)){if(this.isFrozen){const e=this.refract(t);return e.freeze(),e}this.attributes.set(e,t)}return this.attributes.get(e)}setAttributesProperty(e,t){this.attributes.set(e,t)}hasAttributesProperty(e){return!this.isAttributesEmpty&&this.attributes.hasKey(e)}get isAttributesEmpty(){return void 0===this._attributes||this.attributes.isEmpty}}const we=xe;class be extends we{constructor(e,t,r){super(e||[],t,r)}get length(){return this._content.length}get isEmpty(){return 0===this.length}get first(){return this._content[0]}get second(){return this._content[1]}get last(){return this._content.at(-1)}push(...e){for(const t of e)this._content.push(this.refract(t));return this}shift(){return this._content.shift()}unshift(e){this._content.unshift(this.refract(e))}includes(e){return this._content.some(t=>t.equals(e))}findElements(e,t){const r=t||{},n=!!r.recursive,s=void 0===r.results?[]:r.results;for(let t=0;t<this._content.length;t+=1){const r=this._content[t],o=r;n&&"function"==typeof o.findElements&&o.findElements(e,{results:s,recursive:n}),e(r,t,void 0)&&s.push(r)}return s}find(e){const t=this.findElements(e,{recursive:!0});return new this.ArrayElement(t)}findByElement(e){return this.find(t=>t.element===e)}findByClass(e){return this.find(t=>{const r=t.classes;return"function"==typeof r.includes&&r.includes(e)})}getById(e){return this.find(t=>t.id.toValue()===e).first}concat(e){return new(0,this.constructor)(this._content.concat(e._content))}[Symbol.iterator](){return this._content[Symbol.iterator]()}}const ke=be;const ve=class extends ke{constructor(e,t,r){super(e||[],t,r),this.element="array"}primitive(){return"array"}get(e){return this._content[e]}getValue(e){const t=this.get(e);if(t)return t.toValue()}set(e,t){return"number"==typeof e&&void 0!==t?this._content[e]=this.refract(t):this.content=e,this}remove(e){return this._content.splice(e,1)[0]??null}map(e,t){return this._content.map(e,t)}flatMap(e,t){return this._content.flatMap(e,t)}compactMap(e,t){const r=[];for(const n of this._content){const s=e.call(t,n);s&&r.push(s)}return r}filter(e,t){const r=this._content.filter(e,t);return new this.constructor(r)}reject(e,t){const r=[];for(const n of this._content)e.call(t,n)||r.push(n);return new this.constructor(r)}reduce(e,t){let r,n;void 0!==t?(r=0,n=this.refract(t)):(r=1,n=this.first);for(let t=r;t<this.length;t+=1){const r=e(n,this._content[t],t,this);n=void 0===r?r:this.refract(r)}return n}forEach(e,t){this._content.forEach((r,n)=>{e.call(t,r,n)})}empty(){return new this.constructor([])}};const Te=class extends we{constructor(e,t,r,n){super(new me,r,n),this.element="member",void 0!==e&&(this.key=e),arguments.length>=2&&(this.value=t)}primitive(){return"member"}get key(){return this._content.key}set key(e){this._content.key=this.refract(e)}get value(){return this._content.value}set value(e){this._content.value=void 0===e?void 0:this.refract(e)}};const Ae=class extends ke{constructor(e,t,r){super(e||[],t,r),this.element="object"}primitive(){return"object"}toValue(){return this._content.reduce((e,t)=>(e[t.key.toValue()]=t.value?t.value.toValue():void 0,e),{})}get(e){const t=this.getMember(e);if(t)return t.value}getValue(e){const t=this.get(e);if(t)return t.toValue()}getMember(e){if(void 0!==e)return this._content.find(t=>t.key.toValue()===e)}remove(e){let t=null;return this.content=this._content.filter(r=>r.key.toValue()!==e||(t=r,!1)),t}getKey(e){const t=this.getMember(e);if(t)return t.key}set(e,t){if("string"==typeof e){const r=this.getMember(e);r?r.value=t:this._content.push(new Te(e,t))}else if("object"==typeof e&&!Array.isArray(e))for(const t of Object.keys(e))this.set(t,e[t]);return this}keys(){return this._content.map(e=>e.key.toValue())}values(){return this._content.map(e=>e.value.toValue())}hasKey(e){return this._content.some(t=>t.key.equals(e))}items(){return this._content.map(e=>[e.key.toValue(),e.value.toValue()])}map(e,t){return this._content.map(r=>e.call(t,r.value,r.key,r))}compactMap(e,t){const r=[];return this.forEach((n,s,o)=>{const i=e.call(t,n,s,o);i&&r.push(i)}),r}filter(e,t){return new ge(this._content).filter(e,t)}reject(e,t){const r=[];for(const n of this._content)e.call(t,n.value,n.key,n)||r.push(n);return new ge(r)}forEach(e,t){this._content.forEach(r=>e.call(t,r.value,r.key,r))}reduce(e,t){let r,n;void 0!==t?(r=0,n=this.refract(t)):(r=1,n=this._content[0]?.value);for(let t=r;t<this._content.length;t+=1){const r=this._content[t],s=e(n,r.value,r.key,r,this);n=void 0===s?s:this.refract(s)}return n}empty(){return new this.constructor([])}},Se=e=>e instanceof we,Oe=e=>e instanceof ve,Ee=e=>e instanceof Ae,Ie=e=>e instanceof Te;const Ce=class extends we{constructor(e,t,r){super(e,t,r),this.element="string"}primitive(){return"string"}get length(){return this.content?.length??0}};class Pe extends Ce{constructor(e,t,r){super(e,t,r),this.element="sourceMap"}static transfer(e,t){t.startLine=e.startLine,t.startCharacter=e.startCharacter,t.startOffset=e.startOffset,t.endLine=e.endLine,t.endCharacter=e.endCharacter,t.endOffset=e.endOffset}static from(e){const{startLine:t,startCharacter:r,startOffset:n,endLine:s,endCharacter:o,endOffset:i}=e;if("number"!=typeof t||"number"!=typeof r||"number"!=typeof n||"number"!=typeof s||"number"!=typeof o||"number"!=typeof i)return;const a="sm1:"+[t,r,n,s,o,i].map(Ne).join("");const c=new Pe(a);return c.startLine=t,c.startCharacter=r,c.startOffset=n,c.endLine=s,c.endCharacter=o,c.endOffset=i,c}applyTo(e){this.content&&([e.startLine,e.startCharacter,e.startOffset,e.endLine,e.endCharacter,e.endOffset]=function(e){const t=e.startsWith("sm1:")?e.slice(4):e,r=[];let n=0;for(let e=0;e<6;e++){const e=je(t,n);r.push(e.value),n=e.next}return r}(this.content))}}const Me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Ne(e){let t=e>>>0,r="";do{let e=31&t;t>>>=5,0!==t&&(e|=32),r+=Me[e]}while(0!==t);return r}function je(e,t=0){let r=0,n=0,s=t;for(;;){const t=e[s++],o=Me.indexOf(t);if(-1===o)throw new Error(`Invalid Base64 VLQ char: ${t}`);if(r|=(31&o)<<n,n+=5,!!!(32&o))break}return{value:r>>>0,next:s}}const De=Pe;const Fe=class extends i{value;constructor(e,t){super(e,t),void 0!==t&&(this.value=t.value)}};const Be=class extends Fe{};const Le=class extends Fe{},$e=(e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const s=Ue(e);r.set(e,s);const{content:o}=e;return Array.isArray(o)?s.content=o.map(e=>$e(e,n)):Se(o)?s.content=$e(o,n):s.content=o instanceof me?qe(o,n):o,s},qe=(e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const{key:s,value:o}=e,i=void 0!==s?$e(s,n):void 0,a=void 0!==o?$e(o,n):void 0,c=new me(i,a);return r.set(e,c),c},_e=(e,t={})=>{if(e instanceof me)return qe(e,t);if(e instanceof ge)return((e,t)=>{const{visited:r=new WeakMap}=t,n={...t,visited:r};if(r.has(e))return r.get(e);const s=[...e].map(e=>$e(e,n)),o=new ge(s);return r.set(e,o),o})(e,t);if(Se(e))return $e(e,t);throw new Be("Value provided to cloneDeep function couldn't be cloned",{value:e})};_e.safe=e=>{try{return _e(e)}catch{return e}};const Re=e=>{const{key:t,value:r}=e;return new me(t,r)},Ue=e=>{const t=new(0,e.constructor);t.element=e.element,e.isMetaEmpty||(t.meta=_e(e.meta)),e.isAttributesEmpty||(t.attributes=_e(e.attributes)),(e=>"number"==typeof e.startLine&&"number"==typeof e.startCharacter&&"number"==typeof e.startOffset&&"number"==typeof e.endLine&&"number"==typeof e.endCharacter&&"number"==typeof e.endOffset)(e)&&De.transfer(e,t);const{content:r}=e;return Se(r)?t.content=Ue(r):Array.isArray(r)?t.content=[...r]:t.content=r instanceof me?Re(r):r,t},He=e=>{if(e instanceof me)return Re(e);if(e instanceof ge)return(e=>{const t=[...e];return new ge(t)})(e);if(Se(e))return Ue(e);throw new Le("Value provided to cloneShallow function couldn't be cloned",{value:e})};He.safe=e=>{try{return He(e)}catch{return e}};const Ge=class extends we{constructor(e,t,r){super(e,t,r),this.element="number"}primitive(){return"number"}};class ze extends Error{constructor(e,t=void 0){if(super(e,t),this.name=this.constructor.name,"string"==typeof e&&(this.message=e),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack,null!=t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"cause")&&!("cause"in this)){const{cause:e}=t;this.cause=e,e instanceof Error&&"stack"in e&&(this.stack=`${this.stack}\nCAUSE: ${e.stack}`)}if(null!=t&&"object"==typeof t){const{cause:e,...r}=t;Object.assign(this,r)}}}const Ve=ze;new function(){this.grammarObject="grammarObject",this.rules=[],this.rules[0]={name:"jsonpath-query",lower:"jsonpath-query",index:0,isBkr:!1},this.rules[1]={name:"segments",lower:"segments",index:1,isBkr:!1},this.rules[2]={name:"B",lower:"b",index:2,isBkr:!1},this.rules[3]={name:"S",lower:"s",index:3,isBkr:!1},this.rules[4]={name:"root-identifier",lower:"root-identifier",index:4,isBkr:!1},this.rules[5]={name:"selector",lower:"selector",index:5,isBkr:!1},this.rules[6]={name:"name-selector",lower:"name-selector",index:6,isBkr:!1},this.rules[7]={name:"string-literal",lower:"string-literal",index:7,isBkr:!1},this.rules[8]={name:"double-quoted",lower:"double-quoted",index:8,isBkr:!1},this.rules[9]={name:"single-quoted",lower:"single-quoted",index:9,isBkr:!1},this.rules[10]={name:"ESC",lower:"esc",index:10,isBkr:!1},this.rules[11]={name:"unescaped",lower:"unescaped",index:11,isBkr:!1},this.rules[12]={name:"escapable",lower:"escapable",index:12,isBkr:!1},this.rules[13]={name:"hexchar",lower:"hexchar",index:13,isBkr:!1},this.rules[14]={name:"non-surrogate",lower:"non-surrogate",index:14,isBkr:!1},this.rules[15]={name:"high-surrogate",lower:"high-surrogate",index:15,isBkr:!1},this.rules[16]={name:"low-surrogate",lower:"low-surrogate",index:16,isBkr:!1},this.rules[17]={name:"HEXDIG",lower:"hexdig",index:17,isBkr:!1},this.rules[18]={name:"wildcard-selector",lower:"wildcard-selector",index:18,isBkr:!1},this.rules[19]={name:"index-selector",lower:"index-selector",index:19,isBkr:!1},this.rules[20]={name:"int",lower:"int",index:20,isBkr:!1},this.rules[21]={name:"DIGIT1",lower:"digit1",index:21,isBkr:!1},this.rules[22]={name:"slice-selector",lower:"slice-selector",index:22,isBkr:!1},this.rules[23]={name:"start",lower:"start",index:23,isBkr:!1},this.rules[24]={name:"end",lower:"end",index:24,isBkr:!1},this.rules[25]={name:"step",lower:"step",index:25,isBkr:!1},this.rules[26]={name:"filter-selector",lower:"filter-selector",index:26,isBkr:!1},this.rules[27]={name:"logical-expr",lower:"logical-expr",index:27,isBkr:!1},this.rules[28]={name:"logical-or-expr",lower:"logical-or-expr",index:28,isBkr:!1},this.rules[29]={name:"logical-and-expr",lower:"logical-and-expr",index:29,isBkr:!1},this.rules[30]={name:"basic-expr",lower:"basic-expr",index:30,isBkr:!1},this.rules[31]={name:"paren-expr",lower:"paren-expr",index:31,isBkr:!1},this.rules[32]={name:"logical-not-op",lower:"logical-not-op",index:32,isBkr:!1},this.rules[33]={name:"test-expr",lower:"test-expr",index:33,isBkr:!1},this.rules[34]={name:"filter-query",lower:"filter-query",index:34,isBkr:!1},this.rules[35]={name:"rel-query",lower:"rel-query",index:35,isBkr:!1},this.rules[36]={name:"current-node-identifier",lower:"current-node-identifier",index:36,isBkr:!1},this.rules[37]={name:"comparison-expr",lower:"comparison-expr",index:37,isBkr:!1},this.rules[38]={name:"literal",lower:"literal",index:38,isBkr:!1},this.rules[39]={name:"comparable",lower:"comparable",index:39,isBkr:!1},this.rules[40]={name:"comparison-op",lower:"comparison-op",index:40,isBkr:!1},this.rules[41]={name:"singular-query",lower:"singular-query",index:41,isBkr:!1},this.rules[42]={name:"rel-singular-query",lower:"rel-singular-query",index:42,isBkr:!1},this.rules[43]={name:"abs-singular-query",lower:"abs-singular-query",index:43,isBkr:!1},this.rules[44]={name:"singular-query-segments",lower:"singular-query-segments",index:44,isBkr:!1},this.rules[45]={name:"name-segment",lower:"name-segment",index:45,isBkr:!1},this.rules[46]={name:"index-segment",lower:"index-segment",index:46,isBkr:!1},this.rules[47]={name:"number",lower:"number",index:47,isBkr:!1},this.rules[48]={name:"frac",lower:"frac",index:48,isBkr:!1},this.rules[49]={name:"exp",lower:"exp",index:49,isBkr:!1},this.rules[50]={name:"true",lower:"true",index:50,isBkr:!1},this.rules[51]={name:"false",lower:"false",index:51,isBkr:!1},this.rules[52]={name:"null",lower:"null",index:52,isBkr:!1},this.rules[53]={name:"function-name",lower:"function-name",index:53,isBkr:!1},this.rules[54]={name:"function-name-first",lower:"function-name-first",index:54,isBkr:!1},this.rules[55]={name:"function-name-char",lower:"function-name-char",index:55,isBkr:!1},this.rules[56]={name:"LCALPHA",lower:"lcalpha",index:56,isBkr:!1},this.rules[57]={name:"function-expr",lower:"function-expr",index:57,isBkr:!1},this.rules[58]={name:"function-argument",lower:"function-argument",index:58,isBkr:!1},this.rules[59]={name:"segment",lower:"segment",index:59,isBkr:!1},this.rules[60]={name:"child-segment",lower:"child-segment",index:60,isBkr:!1},this.rules[61]={name:"bracketed-selection",lower:"bracketed-selection",index:61,isBkr:!1},this.rules[62]={name:"member-name-shorthand",lower:"member-name-shorthand",index:62,isBkr:!1},this.rules[63]={name:"name-first",lower:"name-first",index:63,isBkr:!1},this.rules[64]={name:"name-char",lower:"name-char",index:64,isBkr:!1},this.rules[65]={name:"DIGIT",lower:"digit",index:65,isBkr:!1},this.rules[66]={name:"ALPHA",lower:"alpha",index:66,isBkr:!1},this.rules[67]={name:"descendant-segment",lower:"descendant-segment",index:67,isBkr:!1},this.rules[68]={name:"normalized-path",lower:"normalized-path",index:68,isBkr:!1},this.rules[69]={name:"normal-index-segment",lower:"normal-index-segment",index:69,isBkr:!1},this.rules[70]={name:"normal-selector",lower:"normal-selector",index:70,isBkr:!1},this.rules[71]={name:"normal-name-selector",lower:"normal-name-selector",index:71,isBkr:!1},this.rules[72]={name:"normal-single-quoted",lower:"normal-single-quoted",index:72,isBkr:!1},this.rules[73]={name:"normal-unescaped",lower:"normal-unescaped",index:73,isBkr:!1},this.rules[74]={name:"normal-escapable",lower:"normal-escapable",index:74,isBkr:!1},this.rules[75]={name:"normal-hexchar",lower:"normal-hexchar",index:75,isBkr:!1},this.rules[76]={name:"normal-HEXDIG",lower:"normal-hexdig",index:76,isBkr:!1},this.rules[77]={name:"normal-index-selector",lower:"normal-index-selector",index:77,isBkr:!1},this.rules[78]={name:"dot-prefix",lower:"dot-prefix",index:78,isBkr:!1},this.rules[79]={name:"double-dot-prefix",lower:"double-dot-prefix",index:79,isBkr:!1},this.rules[80]={name:"left-bracket",lower:"left-bracket",index:80,isBkr:!1},this.rules[81]={name:"right-bracket",lower:"right-bracket",index:81,isBkr:!1},this.rules[82]={name:"left-paren",lower:"left-paren",index:82,isBkr:!1},this.rules[83]={name:"right-paren",lower:"right-paren",index:83,isBkr:!1},this.rules[84]={name:"comma",lower:"comma",index:84,isBkr:!1},this.rules[85]={name:"colon",lower:"colon",index:85,isBkr:!1},this.rules[86]={name:"dquote",lower:"dquote",index:86,isBkr:!1},this.rules[87]={name:"squote",lower:"squote",index:87,isBkr:!1},this.rules[88]={name:"questionmark",lower:"questionmark",index:88,isBkr:!1},this.rules[89]={name:"disjunction",lower:"disjunction",index:89,isBkr:!1},this.rules[90]={name:"conjunction",lower:"conjunction",index:90,isBkr:!1},this.udts=[],this.rules[0].opcodes=[],this.rules[0].opcodes[0]={type:2,children:[1,2]},this.rules[0].opcodes[1]={type:4,index:4},this.rules[0].opcodes[2]={type:4,index:1},this.rules[1].opcodes=[],this.rules[1].opcodes[0]={type:3,min:0,max:1/0},this.rules[1].opcodes[1]={type:2,children:[2,3]},this.rules[1].opcodes[2]={type:4,index:3},this.rules[1].opcodes[3]={type:4,index:59},this.rules[2].opcodes=[],this.rules[2].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[2].opcodes[1]={type:6,string:[32]},this.rules[2].opcodes[2]={type:6,string:[9]},this.rules[2].opcodes[3]={type:6,string:[10]},this.rules[2].opcodes[4]={type:6,string:[13]},this.rules[3].opcodes=[],this.rules[3].opcodes[0]={type:3,min:0,max:1/0},this.rules[3].opcodes[1]={type:4,index:2},this.rules[4].opcodes=[],this.rules[4].opcodes[0]={type:7,string:[36]},this.rules[5].opcodes=[],this.rules[5].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[5].opcodes[1]={type:4,index:6},this.rules[5].opcodes[2]={type:4,index:18},this.rules[5].opcodes[3]={type:4,index:22},this.rules[5].opcodes[4]={type:4,index:19},this.rules[5].opcodes[5]={type:4,index:26},this.rules[6].opcodes=[],this.rules[6].opcodes[0]={type:4,index:7},this.rules[7].opcodes=[],this.rules[7].opcodes[0]={type:1,children:[1,6]},this.rules[7].opcodes[1]={type:2,children:[2,3,5]},this.rules[7].opcodes[2]={type:4,index:86},this.rules[7].opcodes[3]={type:3,min:0,max:1/0},this.rules[7].opcodes[4]={type:4,index:8},this.rules[7].opcodes[5]={type:4,index:86},this.rules[7].opcodes[6]={type:2,children:[7,8,10]},this.rules[7].opcodes[7]={type:4,index:87},this.rules[7].opcodes[8]={type:3,min:0,max:1/0},this.rules[7].opcodes[9]={type:4,index:9},this.rules[7].opcodes[10]={type:4,index:87},this.rules[8].opcodes=[],this.rules[8].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[8].opcodes[1]={type:4,index:11},this.rules[8].opcodes[2]={type:6,string:[39]},this.rules[8].opcodes[3]={type:2,children:[4,5]},this.rules[8].opcodes[4]={type:4,index:10},this.rules[8].opcodes[5]={type:6,string:[34]},this.rules[8].opcodes[6]={type:2,children:[7,8]},this.rules[8].opcodes[7]={type:4,index:10},this.rules[8].opcodes[8]={type:4,index:12},this.rules[9].opcodes=[],this.rules[9].opcodes[0]={type:1,children:[1,2,3,6]},this.rules[9].opcodes[1]={type:4,index:11},this.rules[9].opcodes[2]={type:6,string:[34]},this.rules[9].opcodes[3]={type:2,children:[4,5]},this.rules[9].opcodes[4]={type:4,index:10},this.rules[9].opcodes[5]={type:6,string:[39]},this.rules[9].opcodes[6]={type:2,children:[7,8]},this.rules[9].opcodes[7]={type:4,index:10},this.rules[9].opcodes[8]={type:4,index:12},this.rules[10].opcodes=[],this.rules[10].opcodes[0]={type:6,string:[92]},this.rules[11].opcodes=[],this.rules[11].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[11].opcodes[1]={type:5,min:32,max:33},this.rules[11].opcodes[2]={type:5,min:35,max:38},this.rules[11].opcodes[3]={type:5,min:40,max:91},this.rules[11].opcodes[4]={type:5,min:93,max:55295},this.rules[11].opcodes[5]={type:5,min:57344,max:1114111},this.rules[12].opcodes=[],this.rules[12].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[12].opcodes[1]={type:6,string:[98]},this.rules[12].opcodes[2]={type:6,string:[102]},this.rules[12].opcodes[3]={type:6,string:[110]},this.rules[12].opcodes[4]={type:6,string:[114]},this.rules[12].opcodes[5]={type:6,string:[116]},this.rules[12].opcodes[6]={type:7,string:[47]},this.rules[12].opcodes[7]={type:7,string:[92]},this.rules[12].opcodes[8]={type:2,children:[9,10]},this.rules[12].opcodes[9]={type:6,string:[117]},this.rules[12].opcodes[10]={type:4,index:13},this.rules[13].opcodes=[],this.rules[13].opcodes[0]={type:1,children:[1,2]},this.rules[13].opcodes[1]={type:4,index:14},this.rules[13].opcodes[2]={type:2,children:[3,4,5,6]},this.rules[13].opcodes[3]={type:4,index:15},this.rules[13].opcodes[4]={type:7,string:[92]},this.rules[13].opcodes[5]={type:6,string:[117]},this.rules[13].opcodes[6]={type:4,index:16},this.rules[14].opcodes=[],this.rules[14].opcodes[0]={type:1,children:[1,11]},this.rules[14].opcodes[1]={type:2,children:[2,9]},this.rules[14].opcodes[2]={type:1,children:[3,4,5,6,7,8]},this.rules[14].opcodes[3]={type:4,index:65},this.rules[14].opcodes[4]={type:7,string:[97]},this.rules[14].opcodes[5]={type:7,string:[98]},this.rules[14].opcodes[6]={type:7,string:[99]},this.rules[14].opcodes[7]={type:7,string:[101]},this.rules[14].opcodes[8]={type:7,string:[102]},this.rules[14].opcodes[9]={type:3,min:3,max:3},this.rules[14].opcodes[10]={type:4,index:17},this.rules[14].opcodes[11]={type:2,children:[12,13,14]},this.rules[14].opcodes[12]={type:7,string:[100]},this.rules[14].opcodes[13]={type:5,min:48,max:55},this.rules[14].opcodes[14]={type:3,min:2,max:2},this.rules[14].opcodes[15]={type:4,index:17},this.rules[15].opcodes=[],this.rules[15].opcodes[0]={type:2,children:[1,2,7]},this.rules[15].opcodes[1]={type:7,string:[100]},this.rules[15].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[15].opcodes[3]={type:7,string:[56]},this.rules[15].opcodes[4]={type:7,string:[57]},this.rules[15].opcodes[5]={type:7,string:[97]},this.rules[15].opcodes[6]={type:7,string:[98]},this.rules[15].opcodes[7]={type:3,min:2,max:2},this.rules[15].opcodes[8]={type:4,index:17},this.rules[16].opcodes=[],this.rules[16].opcodes[0]={type:2,children:[1,2,7]},this.rules[16].opcodes[1]={type:7,string:[100]},this.rules[16].opcodes[2]={type:1,children:[3,4,5,6]},this.rules[16].opcodes[3]={type:7,string:[99]},this.rules[16].opcodes[4]={type:7,string:[100]},this.rules[16].opcodes[5]={type:7,string:[101]},this.rules[16].opcodes[6]={type:7,string:[102]},this.rules[16].opcodes[7]={type:3,min:2,max:2},this.rules[16].opcodes[8]={type:4,index:17},this.rules[17].opcodes=[],this.rules[17].opcodes[0]={type:1,children:[1,2,3,4,5,6,7]},this.rules[17].opcodes[1]={type:4,index:65},this.rules[17].opcodes[2]={type:7,string:[97]},this.rules[17].opcodes[3]={type:7,string:[98]},this.rules[17].opcodes[4]={type:7,string:[99]},this.rules[17].opcodes[5]={type:7,string:[100]},this.rules[17].opcodes[6]={type:7,string:[101]},this.rules[17].opcodes[7]={type:7,string:[102]},this.rules[18].opcodes=[],this.rules[18].opcodes[0]={type:7,string:[42]},this.rules[19].opcodes=[],this.rules[19].opcodes[0]={type:4,index:20},this.rules[20].opcodes=[],this.rules[20].opcodes[0]={type:1,children:[1,2]},this.rules[20].opcodes[1]={type:7,string:[48]},this.rules[20].opcodes[2]={type:2,children:[3,5,6]},this.rules[20].opcodes[3]={type:3,min:0,max:1},this.rules[20].opcodes[4]={type:7,string:[45]},this.rules[20].opcodes[5]={type:4,index:21},this.rules[20].opcodes[6]={type:3,min:0,max:1/0},this.rules[20].opcodes[7]={type:4,index:65},this.rules[21].opcodes=[],this.rules[21].opcodes[0]={type:5,min:49,max:57},this.rules[22].opcodes=[],this.rules[22].opcodes[0]={type:2,children:[1,5,6,7,11]},this.rules[22].opcodes[1]={type:3,min:0,max:1},this.rules[22].opcodes[2]={type:2,children:[3,4]},this.rules[22].opcodes[3]={type:4,index:23},this.rules[22].opcodes[4]={type:4,index:3},this.rules[22].opcodes[5]={type:4,index:85},this.rules[22].opcodes[6]={type:4,index:3},this.rules[22].opcodes[7]={type:3,min:0,max:1},this.rules[22].opcodes[8]={type:2,children:[9,10]},this.rules[22].opcodes[9]={type:4,index:24},this.rules[22].opcodes[10]={type:4,index:3},this.rules[22].opcodes[11]={type:3,min:0,max:1},this.rules[22].opcodes[12]={type:2,children:[13,14]},this.rules[22].opcodes[13]={type:4,index:85},this.rules[22].opcodes[14]={type:3,min:0,max:1},this.rules[22].opcodes[15]={type:2,children:[16,17]},this.rules[22].opcodes[16]={type:4,index:3},this.rules[22].opcodes[17]={type:4,index:25},this.rules[23].opcodes=[],this.rules[23].opcodes[0]={type:4,index:20},this.rules[24].opcodes=[],this.rules[24].opcodes[0]={type:4,index:20},this.rules[25].opcodes=[],this.rules[25].opcodes[0]={type:4,index:20},this.rules[26].opcodes=[],this.rules[26].opcodes[0]={type:2,children:[1,2,3]},this.rules[26].opcodes[1]={type:4,index:88},this.rules[26].opcodes[2]={type:4,index:3},this.rules[26].opcodes[3]={type:4,index:27},this.rules[27].opcodes=[],this.rules[27].opcodes[0]={type:4,index:28},this.rules[28].opcodes=[],this.rules[28].opcodes[0]={type:2,children:[1,2]},this.rules[28].opcodes[1]={type:4,index:29},this.rules[28].opcodes[2]={type:3,min:0,max:1/0},this.rules[28].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[28].opcodes[4]={type:4,index:3},this.rules[28].opcodes[5]={type:4,index:89},this.rules[28].opcodes[6]={type:4,index:3},this.rules[28].opcodes[7]={type:4,index:29},this.rules[29].opcodes=[],this.rules[29].opcodes[0]={type:2,children:[1,2]},this.rules[29].opcodes[1]={type:4,index:30},this.rules[29].opcodes[2]={type:3,min:0,max:1/0},this.rules[29].opcodes[3]={type:2,children:[4,5,6,7]},this.rules[29].opcodes[4]={type:4,index:3},this.rules[29].opcodes[5]={type:4,index:90},this.rules[29].opcodes[6]={type:4,index:3},this.rules[29].opcodes[7]={type:4,index:30},this.rules[30].opcodes=[],this.rules[30].opcodes[0]={type:1,children:[1,2,3]},this.rules[30].opcodes[1]={type:4,index:31},this.rules[30].opcodes[2]={type:4,index:37},this.rules[30].opcodes[3]={type:4,index:33},this.rules[31].opcodes=[],this.rules[31].opcodes[0]={type:2,children:[1,5,6,7,8,9]},this.rules[31].opcodes[1]={type:3,min:0,max:1},this.rules[31].opcodes[2]={type:2,children:[3,4]},this.rules[31].opcodes[3]={type:4,index:32},this.rules[31].opcodes[4]={type:4,index:3},this.rules[31].opcodes[5]={type:4,index:82},this.rules[31].opcodes[6]={type:4,index:3},this.rules[31].opcodes[7]={type:4,index:27},this.rules[31].opcodes[8]={type:4,index:3},this.rules[31].opcodes[9]={type:4,index:83},this.rules[32].opcodes=[],this.rules[32].opcodes[0]={type:7,string:[33]},this.rules[33].opcodes=[],this.rules[33].opcodes[0]={type:2,children:[1,5]},this.rules[33].opcodes[1]={type:3,min:0,max:1},this.rules[33].opcodes[2]={type:2,children:[3,4]},this.rules[33].opcodes[3]={type:4,index:32},this.rules[33].opcodes[4]={type:4,index:3},this.rules[33].opcodes[5]={type:1,children:[6,7]},this.rules[33].opcodes[6]={type:4,index:34},this.rules[33].opcodes[7]={type:4,index:57},this.rules[34].opcodes=[],this.rules[34].opcodes[0]={type:1,children:[1,2]},this.rules[34].opcodes[1]={type:4,index:35},this.rules[34].opcodes[2]={type:4,index:0},this.rules[35].opcodes=[],this.rules[35].opcodes[0]={type:2,children:[1,2]},this.rules[35].opcodes[1]={type:4,index:36},this.rules[35].opcodes[2]={type:4,index:1},this.rules[36].opcodes=[],this.rules[36].opcodes[0]={type:7,string:[64]},this.rules[37].opcodes=[],this.rules[37].opcodes[0]={type:2,children:[1,2,3,4,5]},this.rules[37].opcodes[1]={type:4,index:39},this.rules[37].opcodes[2]={type:4,index:3},this.rules[37].opcodes[3]={type:4,index:40},this.rules[37].opcodes[4]={type:4,index:3},this.rules[37].opcodes[5]={type:4,index:39},this.rules[38].opcodes=[],this.rules[38].opcodes[0]={type:1,children:[1,2,3,4,5]},this.rules[38].opcodes[1]={type:4,index:47},this.rules[38].opcodes[2]={type:4,index:7},this.rules[38].opcodes[3]={type:4,index:50},this.rules[38].opcodes[4]={type:4,index:51},this.rules[38].opcodes[5]={type:4,index:52},this.rules[39].opcodes=[],this.rules[39].opcodes[0]={type:1,children:[1,2,3]},this.rules[39].opcodes[1]={type:4,index:41},this.rules[39].opcodes[2]={type:4,index:57},this.rules[39].opcodes[3]={type:4,index:38},this.rules[40].opcodes=[],this.rules[40].opcodes[0]={type:1,children:[1,2,3,4,5,6]},this.rules[40].opcodes[1]={type:7,string:[61,61]},this.rules[40].opcodes[2]={type:7,string:[33,61]},this.rules[40].opcodes[3]={type:7,string:[60,61]},this.rules[40].opcodes[4]={type:7,string:[62,61]},this.rules[40].opcodes[5]={type:7,string:[60]},this.rules[40].opcodes[6]={type:7,string:[62]},this.rules[41].opcodes=[],this.rules[41].opcodes[0]={type:1,children:[1,2]},this.rules[41].opcodes[1]={type:4,index:42},this.rules[41].opcodes[2]={type:4,index:43},this.rules[42].opcodes=[],this.rules[42].opcodes[0]={type:2,children:[1,2]},this.rules[42].opcodes[1]={type:4,index:36},this.rules[42].opcodes[2]={type:4,index:44},this.rules[43].opcodes=[],this.rules[43].opcodes[0]={type:2,children:[1,2]},this.rules[43].opcodes[1]={type:4,index:4},this.rules[43].opcodes[2]={type:4,index:44},this.rules[44].opcodes=[],this.rules[44].opcodes[0]={type:3,min:0,max:1/0},this.rules[44].opcodes[1]={type:2,children:[2,3]},this.rules[44].opcodes[2]={type:4,index:3},this.rules[44].opcodes[3]={type:1,children:[4,5]},this.rules[44].opcodes[4]={type:4,index:45},this.rules[44].opcodes[5]={type:4,index:46},this.rules[45].opcodes=[],this.rules[45].opcodes[0]={type:1,children:[1,5]},this.rules[45].opcodes[1]={type:2,children:[2,3,4]},this.rules[45].opcodes[2]={type:4,index:80},this.rules[45].opcodes[3]={type:4,index:6},this.rules[45].opcodes[4]={type:4,index:81},this.rules[45].opcodes[5]={type:2,children:[6,7]},this.rules[45].opcodes[6]={type:4,index:78},this.rules[45].opcodes[7]={type:4,index:62},this.rules[46].opcodes=[],this.rules[46].opcodes[0]={type:2,children:[1,2,3]},this.rules[46].opcodes[1]={type:4,index:80},this.rules[46].opcodes[2]={type:4,index:19},this.rules[46].opcodes[3]={type:4,index:81},this.rules[47].opcodes=[],this.rules[47].opcodes[0]={type:2,children:[1,4,6]},this.rules[47].opcodes[1]={type:1,children:[2,3]},this.rules[47].opcodes[2]={type:4,index:20},this.rules[47].opcodes[3]={type:7,string:[45,48]},this.rules[47].opcodes[4]={type:3,min:0,max:1},this.rules[47].opcodes[5]={type:4,index:48},this.rules[47].opcodes[6]={type:3,min:0,max:1},this.rules[47].opcodes[7]={type:4,index:49},this.rules[48].opcodes=[],this.rules[48].opcodes[0]={type:2,children:[1,2]},this.rules[48].opcodes[1]={type:7,string:[46]},this.rules[48].opcodes[2]={type:3,min:1,max:1/0},this.rules[48].opcodes[3]={type:4,index:65},this.rules[49].opcodes=[],this.rules[49].opcodes[0]={type:2,children:[1,2,6]},this.rules[49].opcodes[1]={type:7,string:[101]},this.rules[49].opcodes[2]={type:3,min:0,max:1},this.rules[49].opcodes[3]={type:1,children:[4,5]},this.rules[49].opcodes[4]={type:7,string:[45]},this.rules[49].opcodes[5]={type:7,string:[43]},this.rules[49].opcodes[6]={type:3,min:1,max:1/0},this.rules[49].opcodes[7]={type:4,index:65},this.rules[50].opcodes=[],this.rules[50].opcodes[0]={type:6,string:[116,114,117,101]},this.rules[51].opcodes=[],this.rules[51].opcodes[0]={type:6,string:[102,97,108,115,101]},this.rules[52].opcodes=[],this.rules[52].opcodes[0]={type:6,string:[110,117,108,108]},this.rules[53].opcodes=[],this.rules[53].opcodes[0]={type:2,children:[1,2]},this.rules[53].opcodes[1]={type:4,index:54},this.rules[53].opcodes[2]={type:3,min:0,max:1/0},this.rules[53].opcodes[3]={type:4,index:55},this.rules[54].opcodes=[],this.rules[54].opcodes[0]={type:4,index:56},this.rules[55].opcodes=[],this.rules[55].opcodes[0]={type:1,children:[1,2,3]},this.rules[55].opcodes[1]={type:4,index:54},this.rules[55].opcodes[2]={type:7,string:[95]},this.rules[55].opcodes[3]={type:4,index:65},this.rules[56].opcodes=[],this.rules[56].opcodes[0]={type:5,min:97,max:122},this.rules[57].opcodes=[],this.rules[57].opcodes[0]={type:2,children:[1,2,3,4,13,14]},this.rules[57].opcodes[1]={type:4,index:53},this.rules[57].opcodes[2]={type:4,index:82},this.rules[57].opcodes[3]={type:4,index:3},this.rules[57].opcodes[4]={type:3,min:0,max:1},this.rules[57].opcodes[5]={type:2,children:[6,7]},this.rules[57].opcodes[6]={type:4,index:58},this.rules[57].opcodes[7]={type:3,min:0,max:1/0},this.rules[57].opcodes[8]={type:2,children:[9,10,11,12]},this.rules[57].opcodes[9]={type:4,index:3},this.rules[57].opcodes[10]={type:4,index:84},this.rules[57].opcodes[11]={type:4,index:3},this.rules[57].opcodes[12]={type:4,index:58},this.rules[57].opcodes[13]={type:4,index:3},this.rules[57].opcodes[14]={type:4,index:83},this.rules[58].opcodes=[],this.rules[58].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[58].opcodes[1]={type:4,index:27},this.rules[58].opcodes[2]={type:4,index:34},this.rules[58].opcodes[3]={type:4,index:57},this.rules[58].opcodes[4]={type:4,index:38},this.rules[59].opcodes=[],this.rules[59].opcodes[0]={type:1,children:[1,2]},this.rules[59].opcodes[1]={type:4,index:60},this.rules[59].opcodes[2]={type:4,index:67},this.rules[60].opcodes=[],this.rules[60].opcodes[0]={type:1,children:[1,2]},this.rules[60].opcodes[1]={type:4,index:61},this.rules[60].opcodes[2]={type:2,children:[3,4]},this.rules[60].opcodes[3]={type:4,index:78},this.rules[60].opcodes[4]={type:1,children:[5,6]},this.rules[60].opcodes[5]={type:4,index:18},this.rules[60].opcodes[6]={type:4,index:62},this.rules[61].opcodes=[],this.rules[61].opcodes[0]={type:2,children:[1,2,3,4,10,11]},this.rules[61].opcodes[1]={type:4,index:80},this.rules[61].opcodes[2]={type:4,index:3},this.rules[61].opcodes[3]={type:4,index:5},this.rules[61].opcodes[4]={type:3,min:0,max:1/0},this.rules[61].opcodes[5]={type:2,children:[6,7,8,9]},this.rules[61].opcodes[6]={type:4,index:3},this.rules[61].opcodes[7]={type:4,index:84},this.rules[61].opcodes[8]={type:4,index:3},this.rules[61].opcodes[9]={type:4,index:5},this.rules[61].opcodes[10]={type:4,index:3},this.rules[61].opcodes[11]={type:4,index:81},this.rules[62].opcodes=[],this.rules[62].opcodes[0]={type:2,children:[1,2]},this.rules[62].opcodes[1]={type:4,index:63},this.rules[62].opcodes[2]={type:3,min:0,max:1/0},this.rules[62].opcodes[3]={type:4,index:64},this.rules[63].opcodes=[],this.rules[63].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[63].opcodes[1]={type:4,index:66},this.rules[63].opcodes[2]={type:7,string:[95]},this.rules[63].opcodes[3]={type:5,min:128,max:55295},this.rules[63].opcodes[4]={type:5,min:57344,max:1114111},this.rules[64].opcodes=[],this.rules[64].opcodes[0]={type:1,children:[1,2]},this.rules[64].opcodes[1]={type:4,index:63},this.rules[64].opcodes[2]={type:4,index:65},this.rules[65].opcodes=[],this.rules[65].opcodes[0]={type:5,min:48,max:57},this.rules[66].opcodes=[],this.rules[66].opcodes[0]={type:1,children:[1,2]},this.rules[66].opcodes[1]={type:5,min:65,max:90},this.rules[66].opcodes[2]={type:5,min:97,max:122},this.rules[67].opcodes=[],this.rules[67].opcodes[0]={type:2,children:[1,2]},this.rules[67].opcodes[1]={type:4,index:79},this.rules[67].opcodes[2]={type:1,children:[3,4,5]},this.rules[67].opcodes[3]={type:4,index:61},this.rules[67].opcodes[4]={type:4,index:18},this.rules[67].opcodes[5]={type:4,index:62},this.rules[68].opcodes=[],this.rules[68].opcodes[0]={type:2,children:[1,2]},this.rules[68].opcodes[1]={type:4,index:4},this.rules[68].opcodes[2]={type:3,min:0,max:1/0},this.rules[68].opcodes[3]={type:4,index:69},this.rules[69].opcodes=[],this.rules[69].opcodes[0]={type:2,children:[1,2,3]},this.rules[69].opcodes[1]={type:4,index:80},this.rules[69].opcodes[2]={type:4,index:70},this.rules[69].opcodes[3]={type:4,index:81},this.rules[70].opcodes=[],this.rules[70].opcodes[0]={type:1,children:[1,2]},this.rules[70].opcodes[1]={type:4,index:71},this.rules[70].opcodes[2]={type:4,index:77},this.rules[71].opcodes=[],this.rules[71].opcodes[0]={type:2,children:[1,2,4]},this.rules[71].opcodes[1]={type:4,index:87},this.rules[71].opcodes[2]={type:3,min:0,max:1/0},this.rules[71].opcodes[3]={type:4,index:72},this.rules[71].opcodes[4]={type:4,index:87},this.rules[72].opcodes=[],this.rules[72].opcodes[0]={type:1,children:[1,2]},this.rules[72].opcodes[1]={type:4,index:73},this.rules[72].opcodes[2]={type:2,children:[3,4]},this.rules[72].opcodes[3]={type:4,index:10},this.rules[72].opcodes[4]={type:4,index:74},this.rules[73].opcodes=[],this.rules[73].opcodes[0]={type:1,children:[1,2,3,4]},this.rules[73].opcodes[1]={type:5,min:32,max:38},this.rules[73].opcodes[2]={type:5,min:40,max:91},this.rules[73].opcodes[3]={type:5,min:93,max:55295},this.rules[73].opcodes[4]={type:5,min:57344,max:1114111},this.rules[74].opcodes=[],this.rules[74].opcodes[0]={type:1,children:[1,2,3,4,5,6,7,8]},this.rules[74].opcodes[1]={type:6,string:[98]},this.rules[74].opcodes[2]={type:6,string:[102]},this.rules[74].opcodes[3]={type:6,string:[110]},this.rules[74].opcodes[4]={type:6,string:[114]},this.rules[74].opcodes[5]={type:6,string:[116]},this.rules[74].opcodes[6]={type:7,string:[39]},this.rules[74].opcodes[7]={type:7,string:[92]},this.rules[74].opcodes[8]={type:2,children:[9,10]},this.rules[74].opcodes[9]={type:6,string:[117]},this.rules[74].opcodes[10]={type:4,index:75},this.rules[75].opcodes=[],this.rules[75].opcodes[0]={type:2,children:[1,2,3]},this.rules[75].opcodes[1]={type:7,string:[48]},this.rules[75].opcodes[2]={type:7,string:[48]},this.rules[75].opcodes[3]={type:1,children:[4,7,10,13]},this.rules[75].opcodes[4]={type:2,children:[5,6]},this.rules[75].opcodes[5]={type:7,string:[48]},this.rules[75].opcodes[6]={type:5,min:48,max:55},this.rules[75].opcodes[7]={type:2,children:[8,9]},this.rules[75].opcodes[8]={type:7,string:[48]},this.rules[75].opcodes[9]={type:6,string:[98]},this.rules[75].opcodes[10]={type:2,children:[11,12]},this.rules[75].opcodes[11]={type:7,string:[48]},this.rules[75].opcodes[12]={type:5,min:101,max:102},this.rules[75].opcodes[13]={type:2,children:[14,15]},this.rules[75].opcodes[14]={type:7,string:[49]},this.rules[75].opcodes[15]={type:4,index:76},this.rules[76].opcodes=[],this.rules[76].opcodes[0]={type:1,children:[1,2]},this.rules[76].opcodes[1]={type:4,index:65},this.rules[76].opcodes[2]={type:5,min:97,max:102},this.rules[77].opcodes=[],this.rules[77].opcodes[0]={type:1,children:[1,2]},this.rules[77].opcodes[1]={type:7,string:[48]},this.rules[77].opcodes[2]={type:2,children:[3,4]},this.rules[77].opcodes[3]={type:4,index:21},this.rules[77].opcodes[4]={type:3,min:0,max:1/0},this.rules[77].opcodes[5]={type:4,index:65},this.rules[78].opcodes=[],this.rules[78].opcodes[0]={type:7,string:[46]},this.rules[79].opcodes=[],this.rules[79].opcodes[0]={type:7,string:[46,46]},this.rules[80].opcodes=[],this.rules[80].opcodes[0]={type:7,string:[91]},this.rules[81].opcodes=[],this.rules[81].opcodes[0]={type:7,string:[93]},this.rules[82].opcodes=[],this.rules[82].opcodes[0]={type:7,string:[40]},this.rules[83].opcodes=[],this.rules[83].opcodes[0]={type:7,string:[41]},this.rules[84].opcodes=[],this.rules[84].opcodes[0]={type:7,string:[44]},this.rules[85].opcodes=[],this.rules[85].opcodes[0]={type:7,string:[58]},this.rules[86].opcodes=[],this.rules[86].opcodes[0]={type:6,string:[34]},this.rules[87].opcodes=[],this.rules[87].opcodes[0]={type:6,string:[39]},this.rules[88].opcodes=[],this.rules[88].opcodes[0]={type:7,string:[63]},this.rules[89].opcodes=[],this.rules[89].opcodes[0]={type:7,string:[124,124]},this.rules[90].opcodes=[],this.rules[90].opcodes[0]={type:7,string:[38,38]},this.toString=function(){let e="";return e+="; JSONPath: Query Expressions for JSON\n",e+="; https://www.rfc-editor.org/rfc/rfc9535\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\n",e+="jsonpath-query = root-identifier segments\n",e+="segments = *(S segment)\n",e+="\n",e+="B = %x20 / ; Space\n",e+=" %x09 / ; Horizontal tab\n",e+=" %x0A / ; Line feed or New line\n",e+=" %x0D ; Carriage return\n",e+="S = *B ; optional blank space\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\n",e+='root-identifier = "$"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\n",e+="selector = name-selector /\n",e+=" wildcard-selector /\n",e+=" slice-selector /\n",e+=" index-selector /\n",e+=" filter-selector\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\n",e+="name-selector = string-literal\n",e+="\n",e+='string-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n',e+=" squote *single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="\n",e+="double-quoted = unescaped /\n",e+=" %x27 / ; '\n",e+=' ESC %x22 / ; \\"\n',e+=" ESC escapable\n",e+="\n",e+="single-quoted = unescaped /\n",e+=' %x22 / ; "\n',e+=" ESC %x27 / ; \\'\n",e+=" ESC escapable\n",e+="\n",e+="ESC = %x5C ; \\ backslash\n",e+="\n",e+="unescaped = %x20-21 / ; see RFC 8259\n",e+=' ; omit 0x22 "\n',e+=" %x23-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=' "/" / ; / slash (solidus) U+002F\n',e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 hexchar) ; uXXXX U+XXXX\n",e+="\n",e+="hexchar = non-surrogate /\n",e+=' (high-surrogate "\\" %x75 low-surrogate)\n',e+='non-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n',e+=' ("D" %x30-37 2HEXDIG )\n',e+='high-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\n',e+='low-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n',e+="\n",e+='HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\n",e+='wildcard-selector = "*"\n',e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\n",e+="index-selector = int ; decimal integer\n",e+="\n",e+='int = "0" /\n',e+=' (["-"] DIGIT1 *DIGIT) ; - optional\n',e+="DIGIT1 = %x31-39 ; 1-9 non-zero digit\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\n",e+="slice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="start = int ; included in selection\n",e+="end = int ; not included in selection\n",e+="step = int ; default: 1\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\n",e+="filter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="logical-expr = logical-or-expr\n",e+="logical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; disjunction\n",e+=" ; binds less tightly than conjunction\n",e+="logical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n",e+=" ; conjunction\n",e+=" ; binds more tightly than disjunction\n",e+="\n",e+="basic-expr = paren-expr /\n",e+=" comparison-expr /\n",e+=" test-expr\n",e+="\n",e+="paren-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n",e+=" ; parenthesized expression\n",e+='logical-not-op = "!" ; logical NOT operator\n',e+="\n",e+="test-expr = [logical-not-op S]\n",e+=" (filter-query / ; existence/non-existence\n",e+=" function-expr) ; LogicalType or NodesType\n",e+="filter-query = rel-query / jsonpath-query\n",e+="rel-query = current-node-identifier segments\n",e+='current-node-identifier = "@"\n',e+="\n",e+="comparison-expr = comparable S comparison-op S comparable\n",e+="literal = number / string-literal /\n",e+=" true / false / null\n",e+="comparable = singular-query / ; singular query value\n",e+=" function-expr / ; ValueType\n",e+=" literal\n",e+=" ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\n",e+='comparison-op = "==" / "!=" /\n',e+=' "<=" / ">=" /\n',e+=' "<" / ">"\n',e+="\n",e+="singular-query = rel-singular-query / abs-singular-query\n",e+="rel-singular-query = current-node-identifier singular-query-segments\n",e+="abs-singular-query = root-identifier singular-query-segments\n",e+="singular-query-segments = *(S (name-segment / index-segment))\n",e+="name-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n",e+=" (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\n",e+="index-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="\n",e+='number = (int / "-0") [ frac ] [ exp ] ; decimal number\n',e+='frac = "." 1*DIGIT ; decimal fraction\n',e+='exp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\n',e+="true = %x74.72.75.65 ; true\n",e+="false = %x66.61.6c.73.65 ; false\n",e+="null = %x6e.75.6c.6c ; null\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\n",e+="function-name = function-name-first *function-name-char\n",e+="function-name-first = LCALPHA\n",e+='function-name-char = function-name-first / "_" / DIGIT\n',e+='LCALPHA = %x61-7A ; "a".."z"\n',e+="\n",e+="function-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n",e+=" *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\n",e+="function-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n",e+=" filter-query / ; (includes singular-query)\n",e+=" function-expr /\n",e+=" literal\n",e+="\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\n",e+="segment = child-segment / descendant-segment\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\n",e+="child-segment = bracketed-selection /\n",e+=" (dot-prefix ; MODIFICATION: surrogate text rule used\n",e+=" (wildcard-selector /\n",e+=" member-name-shorthand))\n",e+="\n",e+="bracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n",e+=" ; MODIFICATION: surrogate text rule used\n",e+="\n",e+="member-name-shorthand = name-first *name-char\n",e+="name-first = ALPHA /\n",e+=' "_" /\n',e+=" %x80-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="name-char = name-first / DIGIT\n",e+="\n",e+="DIGIT = %x30-39 ; 0-9\n",e+="ALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\n",e+="descendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n",e+=" wildcard-selector /\n",e+=" member-name-shorthand)\n",e+="\n",e+="; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\n",e+="normalized-path = root-identifier *(normal-index-segment)\n",e+="normal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\n",e+="normal-selector = normal-name-selector / normal-index-selector\n",e+="normal-name-selector = squote *normal-single-quoted squote ; 'string', MODIFICATION: surrogate text rule used\n",e+="normal-single-quoted = normal-unescaped /\n",e+=" ESC normal-escapable\n",e+="normal-unescaped = ; omit %x0-1F control codes\n",e+=" %x20-26 /\n",e+=" ; omit 0x27 '\n",e+=" %x28-5B /\n",e+=" ; omit 0x5C \\\n",e+=" %x5D-D7FF /\n",e+=" ; skip surrogate code points\n",e+=" %xE000-10FFFF\n",e+="\n",e+="normal-escapable = %x62 / ; b BS backspace U+0008\n",e+=" %x66 / ; f FF form feed U+000C\n",e+=" %x6E / ; n LF line feed U+000A\n",e+=" %x72 / ; r CR carriage return U+000D\n",e+=" %x74 / ; t HT horizontal tab U+0009\n",e+=" \"'\" / ; ' apostrophe U+0027\n",e+=' "\\" / ; \\ backslash (reverse solidus) U+005C\n',e+=" (%x75 normal-hexchar)\n",e+=" ; certain values u00xx U+00XX\n",e+='normal-hexchar = "0" "0"\n',e+=" (\n",e+=' ("0" %x30-37) / ; "00"-"07"\n',e+=" ; omit U+0008-U+000A BS HT LF\n",e+=' ("0" %x62) / ; "0b"\n',e+=" ; omit U+000C-U+000D FF CR\n",e+=' ("0" %x65-66) / ; "0e"-"0f"\n',e+=' ("1" normal-HEXDIG)\n',e+=" )\n",e+='normal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\n',e+='normal-index-selector = "0" / (DIGIT1 *DIGIT)\n',e+=" ; non-negative decimal integer\n",e+="\n",e+="; Surrogate named rules\n",e+='dot-prefix = "."\n',e+='double-dot-prefix = ".."\n',e+='left-bracket = "["\n',e+='right-bracket = "]"\n',e+='left-paren = "("\n',e+='right-paren = ")"\n',e+='comma = ","\n',e+='colon = ":"\n',e+='dquote = %x22 ; "\n',e+="squote = %x27 ; '\n",e+='questionmark = "?"\n',e+='disjunction = "||"\n',e+='conjunction = "&&"\n','; JSONPath: Query Expressions for JSON\n; https://www.rfc-editor.org/rfc/rfc9535\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.1.1\njsonpath-query = root-identifier segments\nsegments = *(S segment)\n\nB = %x20 / ; Space\n %x09 / ; Horizontal tab\n %x0A / ; Line feed or New line\n %x0D ; Carriage return\nS = *B ; optional blank space\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.2.1\nroot-identifier = "$"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3\nselector = name-selector /\n wildcard-selector /\n slice-selector /\n index-selector /\n filter-selector\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.1.1\nname-selector = string-literal\n\nstring-literal = dquote *double-quoted dquote / ; "string", MODIFICATION: surrogate text rule used\n squote *single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\n\ndouble-quoted = unescaped /\n %x27 / ; \'\n ESC %x22 / ; \\"\n ESC escapable\n\nsingle-quoted = unescaped /\n %x22 / ; "\n ESC %x27 / ; \\\'\n ESC escapable\n\nESC = %x5C ; \\ backslash\n\nunescaped = %x20-21 / ; see RFC 8259\n ; omit 0x22 "\n %x23-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nescapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "/" / ; / slash (solidus) U+002F\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 hexchar) ; uXXXX U+XXXX\n\nhexchar = non-surrogate /\n (high-surrogate "\\" %x75 low-surrogate)\nnon-surrogate = ((DIGIT / "A"/"B"/"C" / "E"/"F") 3HEXDIG) /\n ("D" %x30-37 2HEXDIG )\nhigh-surrogate = "D" ("8"/"9"/"A"/"B") 2HEXDIG\nlow-surrogate = "D" ("C"/"D"/"E"/"F") 2HEXDIG\n\nHEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.2.1\nwildcard-selector = "*"\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.3.1\nindex-selector = int ; decimal integer\n\nint = "0" /\n (["-"] DIGIT1 *DIGIT) ; - optional\nDIGIT1 = %x31-39 ; 1-9 non-zero digit\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.4.1\nslice-selector = [start S] colon S [end S] [colon [S step ]] ; MODIFICATION: surrogate text rule used\n\nstart = int ; included in selection\nend = int ; not included in selection\nstep = int ; default: 1\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.3.5.1\nfilter-selector = questionmark S logical-expr ; MODIFICATION: surrogate text rule used\n\nlogical-expr = logical-or-expr\nlogical-or-expr = logical-and-expr *(S disjunction S logical-and-expr) ; MODIFICATION: surrogate text rule used\n ; disjunction\n ; binds less tightly than conjunction\nlogical-and-expr = basic-expr *(S conjunction S basic-expr) ; MODIFICATION: surrogate text rule used\n ; conjunction\n ; binds more tightly than disjunction\n\nbasic-expr = paren-expr /\n comparison-expr /\n test-expr\n\nparen-expr = [logical-not-op S] left-paren S logical-expr S right-paren ; MODIFICATION: surrogate text rule used\n ; parenthesized expression\nlogical-not-op = "!" ; logical NOT operator\n\ntest-expr = [logical-not-op S]\n (filter-query / ; existence/non-existence\n function-expr) ; LogicalType or NodesType\nfilter-query = rel-query / jsonpath-query\nrel-query = current-node-identifier segments\ncurrent-node-identifier = "@"\n\ncomparison-expr = comparable S comparison-op S comparable\nliteral = number / string-literal /\n true / false / null\ncomparable = singular-query / ; singular query value\n function-expr / ; ValueType\n literal\n ; MODIFICATION: https://www.rfc-editor.org/errata/eid8352\ncomparison-op = "==" / "!=" /\n "<=" / ">=" /\n "<" / ">"\n\nsingular-query = rel-singular-query / abs-singular-query\nrel-singular-query = current-node-identifier singular-query-segments\nabs-singular-query = root-identifier singular-query-segments\nsingular-query-segments = *(S (name-segment / index-segment))\nname-segment = (left-bracket name-selector right-bracket) / ; MODIFICATION: surrogate text rule used\n (dot-prefix member-name-shorthand) ; MODIFICATION: surrogate text rule used\nindex-segment = left-bracket index-selector right-bracket ; MODIFICATION: surrogate text rule used\n\nnumber = (int / "-0") [ frac ] [ exp ] ; decimal number\nfrac = "." 1*DIGIT ; decimal fraction\nexp = "e" [ "-" / "+" ] 1*DIGIT ; decimal exponent\ntrue = %x74.72.75.65 ; true\nfalse = %x66.61.6c.73.65 ; false\nnull = %x6e.75.6c.6c ; null\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.4\nfunction-name = function-name-first *function-name-char\nfunction-name-first = LCALPHA\nfunction-name-char = function-name-first / "_" / DIGIT\nLCALPHA = %x61-7A ; "a".."z"\n\nfunction-expr = function-name left-paren S [function-argument ; MODIFICATION: surrogate text rule used\n *(S comma S function-argument)] S right-paren ; MODIFICATION: surrogate text rule used\nfunction-argument = logical-expr / ; MODIFICATION: https://www.rfc-editor.org/errata/eid8343\n filter-query / ; (includes singular-query)\n function-expr /\n literal\n\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5\nsegment = child-segment / descendant-segment\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.1.1\nchild-segment = bracketed-selection /\n (dot-prefix ; MODIFICATION: surrogate text rule used\n (wildcard-selector /\n member-name-shorthand))\n\nbracketed-selection = left-bracket S selector *(S comma S selector) S right-bracket\n ; MODIFICATION: surrogate text rule used\n\nmember-name-shorthand = name-first *name-char\nname-first = ALPHA /\n "_" /\n %x80-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\nname-char = name-first / DIGIT\n\nDIGIT = %x30-39 ; 0-9\nALPHA = %x41-5A / %x61-7A ; A-Z / a-z\n\n; https://www.rfc-editor.org/rfc/rfc9535#section-2.5.2.1\ndescendant-segment = double-dot-prefix (bracketed-selection / ; MODIFICATION: surrogate text rule used\n wildcard-selector /\n member-name-shorthand)\n\n; https://www.rfc-editor.org/rfc/rfc9535#name-normalized-paths\nnormalized-path = root-identifier *(normal-index-segment)\nnormal-index-segment = left-bracket normal-selector right-bracket ; MODIFICATION: surrogate text rule used\nnormal-selector = normal-name-selector / normal-index-selector\nnormal-name-selector = squote *normal-single-quoted squote ; \'string\', MODIFICATION: surrogate text rule used\nnormal-single-quoted = normal-unescaped /\n ESC normal-escapable\nnormal-unescaped = ; omit %x0-1F control codes\n %x20-26 /\n ; omit 0x27 \'\n %x28-5B /\n ; omit 0x5C \\\n %x5D-D7FF /\n ; skip surrogate code points\n %xE000-10FFFF\n\nnormal-escapable = %x62 / ; b BS backspace U+0008\n %x66 / ; f FF form feed U+000C\n %x6E / ; n LF line feed U+000A\n %x72 / ; r CR carriage return U+000D\n %x74 / ; t HT horizontal tab U+0009\n "\'" / ; \' apostrophe U+0027\n "\\" / ; \\ backslash (reverse solidus) U+005C\n (%x75 normal-hexchar)\n ; certain values u00xx U+00XX\nnormal-hexchar = "0" "0"\n (\n ("0" %x30-37) / ; "00"-"07"\n ; omit U+0008-U+000A BS HT LF\n ("0" %x62) / ; "0b"\n ; omit U+000C-U+000D FF CR\n ("0" %x65-66) / ; "0e"-"0f"\n ("1" normal-HEXDIG)\n )\nnormal-HEXDIG = DIGIT / %x61-66 ; "0"-"9", "a"-"f"\nnormal-index-selector = "0" / (DIGIT1 *DIGIT)\n ; non-negative decimal integer\n\n; Surrogate named rules\ndot-prefix = "."\ndouble-dot-prefix = ".."\nleft-bracket = "["\nright-bracket = "]"\nleft-paren = "("\nright-paren = ")"\ncomma = ","\ncolon = ":"\ndquote = %x22 ; "\nsquote = %x27 ; \'\nquestionmark = "?"\ndisjunction = "||"\nconjunction = "&&"\n'}};const Xe=e=>{if("string"!=typeof e)throw new TypeError("Selector must be a string");let t="";for(const r of e){const e=r.codePointAt(0);switch(e){case 8:t+="\\b";break;case 9:t+="\\t";break;case 10:t+="\\n";break;case 12:t+="\\f";break;case 13:t+="\\r";break;case 39:t+="\\'";break;case 92:t+="\\\\";break;default:t+=e<=31?`\\u${e.toString(16).padStart(4,"0")}`:r}}return t};const Je=class extends Ve{},Ye=e=>{if(!Array.isArray(e))throw new Je("Selectors must be an array, got: "+typeof e,{selectors:e});try{return`$${e.map(e=>{if("string"==typeof e)return`['${Xe(e)}']`;if("number"==typeof e){if(!Number.isSafeInteger(e)||e<0)throw new TypeError(`Index selector must be a non-negative safe integer, got: ${e}`);return`[${e}]`}throw new TypeError("Selector must be a string or non-negative integer, got: "+typeof e)}).join("")}`}catch(t){throw new Je("Failed to compile normalized JSONPath",{cause:t,selectors:e})}};class We{node;key;index;parent;parentPath;inList;#n=!1;#s=!1;#o=!1;#i=!1;#a;#c=!1;constructor(e,t,r,n,s){this.node=e,this.parent=t,this.parentPath=r,this.key=n,this.index=s&&"number"==typeof n?n:void 0,this.inList=s}get shouldSkip(){return this.#n}get shouldStop(){return this.#s}get removed(){return this.#o}isRoot(){return null===this.parentPath}get depth(){let e=0,t=this.parentPath;for(;null!==t;)e+=1,t=t.parentPath;return e}getAncestry(){const e=[];let t=this.parentPath;for(;null!==t;)e.push(t),t=t.parentPath;return e}getAncestorNodes(){return this.getAncestry().map(e=>e.node)}getPathKeys(){const e=[];let t=this;for(;null!==t&&void 0!==t.key;)e.unshift(t.key),t=t.parentPath;return e}formatPath(e="jsonpointer"){const t=this.getPathKeys();return 0===t.length?"jsonpath"===e?"$":"":"jsonpath"===e?Ye(t):L(t)}findParent(e){let t=this.parentPath;for(;null!==t;){if(e(t))return t;t=t.parentPath}return null}find(e){return e(this)?this:this.findParent(e)}skip(){this.#n=!0}stop(){this.#s=!0}replaceWith(e){this.#c&&console.warn("Warning: replaceWith() called on a stale Path. This path belongs to a node whose visit has already completed. The replacement will have no effect. To replace a parent node, do so from the parent's own visitor."),this.#i=!0,this.#a=e,this.node=e}remove(){this.#c&&console.warn("Warning: remove() called on a stale Path. This path belongs to a node whose visit has already completed. The removal will have no effect. To remove a parent node, do so from the parent's own visitor."),this.#o=!0}_getReplacementNode(){return this.#a}_wasReplaced(){return this.#i}_reset(){this.#n=!1,this.#s=!1,this.#o=!1,this.#i=!1,this.#a=void 0}_markStale(){this.#c=!0}}function Ke(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,r){return t.apply(this,arguments)};case 3:return function(e,r,n){return t.apply(this,arguments)};case 4:return function(e,r,n,s){return t.apply(this,arguments)};case 5:return function(e,r,n,s,o){return t.apply(this,arguments)};case 6:return function(e,r,n,s,o,i){return t.apply(this,arguments)};case 7:return function(e,r,n,s,o,i,a){return t.apply(this,arguments)};case 8:return function(e,r,n,s,o,i,a,c){return t.apply(this,arguments)};case 9:return function(e,r,n,s,o,i,a,c,l){return t.apply(this,arguments)};case 10:return function(e,r,n,s,o,i,a,c,l,u){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function Ze(e,t,r){return function(){for(var n=[],s=0,o=e,i=0,a=!1;i<t.length||s<arguments.length;){var c;i<t.length&&(!W(t[i])||s>=arguments.length)?c=t[i]:(c=arguments[s],s+=1),n[i]=c,W(c)?a=!0:o-=1,i+=1}return!a&&o<=0?r.apply(this,n):Ke(Math.max(0,o),Ze(e,n,r))}}const Qe=Z(function(e,t){return 1===e?K(t):Ke(e,Ze(e,[],t))});function et(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}const tt=Z(function(e,t){return e&&t});function rt(e,t,r){for(var n=0,s=r.length;n<s;)t=e(t,r[n]),n+=1;return t}const nt=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};const st=K(function(e){return!!nt(e)||!!e&&("object"==typeof e&&(!function(e){return"[object String]"===Object.prototype.toString.call(e)}(e)&&(0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))});var ot="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function it(e,t,r){return function(n,s,o){if(st(o))return e(n,s,o);if(null==o)return s;if("function"==typeof o["fantasy-land/reduce"])return t(n,s,o,"fantasy-land/reduce");if(null!=o[ot])return r(n,s,o[ot]());if("function"==typeof o.next)return r(n,s,o);if("function"==typeof o.reduce)return t(n,s,o,"reduce");throw new TypeError("reduce: list must be array or iterable")}}function at(e,t,r){for(var n=r.next();!n.done;)t=e(t,n.value),n=r.next();return t}function ct(e,t,r,n){return r[n](e,t)}const lt=it(rt,ct,at);function ut(e,t,r){return function(){if(0===arguments.length)return r();var n=arguments[arguments.length-1];if(!nt(n)){for(var s=0;s<e.length;){if("function"==typeof n[e[s]])return n[e[s]].apply(n,Array.prototype.slice.call(arguments,0,-1));s+=1}if(function(e){return null!=e&&"function"==typeof e["@@transducer/step"]}(n))return t.apply(null,Array.prototype.slice.call(arguments,0,-1))(n)}return r.apply(this,arguments)}}function pt(e,t){for(var r=0,n=t.length,s=Array(n);r<n;)s[r]=e(t[r]),r+=1;return s}const dt=function(){return this.xf["@@transducer/init"]()},ht=function(e){return this.xf["@@transducer/result"](e)};var ft=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=dt,e.prototype["@@transducer/result"]=ht,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}();const mt=Z(ut(["fantasy-land/map","map"],function(e){return function(t){return new ft(e,t)}},function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return Qe(t.length,function(){return e.call(this,t.apply(this,arguments))});case"[object Object]":return rt(function(r,n){return r[n]=e(t[n]),r},{},ue(t));default:return pt(e,t)}}));const yt=Z(function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(r){return e(r)(t(r))}:lt(function(e,r){return function(e,t){var r;t=t||[];var n=(e=e||[]).length,s=t.length,o=[];for(r=0;r<n;)o[o.length]=e[r],r+=1;for(r=0;r<s;)o[o.length]=t[r],r+=1;return o}(e,mt(r,t))},[],e)});const gt=Z(function(e,t){var r=Qe(e,t);return Qe(e,function(){return rt(yt,mt(r,arguments[0]),Array.prototype.slice.call(arguments,1))})});const xt=K(function(e){return gt(e.length,e)});const wt=Z(function(e,t){return et(e)?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:xt(tt)(e,t)});function bt(e,t){return function(){return t.call(this,e.apply(this,arguments))}}function kt(e){return function t(r,n,s){switch(arguments.length){case 0:return t;case 1:return W(r)?t:Z(function(t,n){return e(r,t,n)});case 2:return W(r)&&W(n)?t:W(r)?Z(function(t,r){return e(t,n,r)}):W(n)?Z(function(t,n){return e(r,t,n)}):K(function(t){return e(r,n,t)});default:return W(r)&&W(n)&&W(s)?t:W(r)&&W(n)?Z(function(t,r){return e(t,r,s)}):W(r)&&W(s)?Z(function(t,r){return e(t,n,r)}):W(n)&&W(s)?Z(function(t,n){return e(r,t,n)}):W(r)?K(function(t){return e(t,n,s)}):W(n)?K(function(t){return e(r,t,s)}):W(s)?K(function(t){return e(r,n,t)}):e(r,n,s)}}}function vt(e,t,r){for(var n=0,s=r.length;n<s;){if((t=e["@@transducer/step"](t,r[n]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n+=1}return e["@@transducer/result"](t)}const Tt=Z(function(e,t){return Ke(e.length,function(){return e.apply(t,arguments)})});function At(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function St(e,t,r,n){return e["@@transducer/result"](r[n](Tt(e["@@transducer/step"],e),t))}const Ot=it(vt,St,At);var Et=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();const It=kt(function(e,t,r){return Ot("function"==typeof e?new Et(e):e,t,r)});function Ct(e,t){return function(){var r=arguments.length;if(0===r)return t();var n=arguments[r-1];return nt(n)||"function"!=typeof n[e]?t.apply(this,arguments):n[e].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}const Pt=K(Ct("tail",kt(Ct("slice",function(e,t,r){return Array.prototype.slice.call(r,e,t)}))(1,1/0)));function Mt(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return Ke(arguments[0].length,It(bt,arguments[0],Pt(arguments)))}function Nt(e,t){return function(e,t,r){var n,s;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(n=1/t;r<e.length;){if(0===(s=e[r])&&1/s===n)return r;r+=1}return-1}if(t!=t){for(;r<e.length;){if("number"==typeof(s=e[r])&&s!=s)return r;r+=1}return-1}return e.indexOf(t,r);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,r);case"object":if(null===t)return e.indexOf(t,r)}for(;r<e.length;){if(fe(e[r],t))return r;r+=1}return-1}(t,e,0)>=0}function jt(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var Dt=function(e){return(e<10?"0":"")+e};const Ft="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+Dt(e.getUTCMonth()+1)+"-"+Dt(e.getUTCDate())+"T"+Dt(e.getUTCHours())+":"+Dt(e.getUTCMinutes())+":"+Dt(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var Bt=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=dt,e.prototype["@@transducer/result"]=ht,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}();function Lt(e){return function(t){return new Bt(e,t)}}var $t=Z(ut(["fantasy-land/filter","filter"],Lt,function(e,t){return r=t,"[object Object]"===Object.prototype.toString.call(r)?rt(function(r,n){return e(t[n])&&(r[n]=t[n]),r},{},ue(t)):function(e){return"[object Map]"===Object.prototype.toString.call(e)}(t)?function(e,t){for(var r=new Map,n=t.entries(),s=n.next();!s.done;)e(s.value[1])&&r.set(s.value[0],s.value[1]),s=n.next();return r}(e,t):function(e,t){for(var r=0,n=t.length,s=[];r<n;)e(t[r])&&(s[s.length]=t[r]),r+=1;return s}(e,t);var r}));const qt=$t;const _t=Z(function(e,t){return qt((r=e,function(){return!r.apply(this,arguments)}),t);var r});function Rt(e,t){var r=function(r){var n=t.concat([e]);return Nt(r,n)?"<Circular>":Rt(r,n)},n=function(e,t){return pt(function(t){return jt(t)+": "+r(e[t])},t.slice().sort())};switch(Object.prototype.toString.call(e)){case"[object Arguments]":return"(function() { return arguments; }("+pt(r,e).join(", ")+"))";case"[object Array]":return"["+pt(r,e).concat(n(e,_t(function(e){return/^\d+$/.test(e)},ue(e)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof e?"new Boolean("+r(e.valueOf())+")":e.toString();case"[object Date]":return"new Date("+(isNaN(e.valueOf())?r(NaN):jt(Ft(e)))+")";case"[object Map]":return"new Map("+r(Array.from(e))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof e?"new Number("+r(e.valueOf())+")":1/e==-1/0?"-0":e.toString(10);case"[object Set]":return"new Set("+r(Array.from(e).sort())+")";case"[object String]":return"object"==typeof e?"new String("+r(e.valueOf())+")":jt(e);case"[object Undefined]":return"undefined";default:if("function"==typeof e.toString){var s=e.toString();if("[object Object]"!==s)return s}return"{"+n(e,ue(e)).join(", ")+"}"}}const Ut=K(function(e){return Rt(e,[])});const Ht=Z(function(e,t){return e||t});const Gt=Z(function(e,t){return et(e)?function(){return e.apply(this,arguments)||t.apply(this,arguments)}:xt(Ht)(e,t)});const zt=xt(K(function(e){return!e}))(fe(null));const Vt=Z(function(e,t){if(e===t)return t;function r(e,t){if(e>t!=t>e)return t>e?t:e}var n=r(e,t);if(void 0!==n)return n;var s=r(typeof e,typeof t);if(void 0!==s)return s===typeof e?e:t;var o=Ut(e),i=r(o,Ut(t));return void 0!==i&&i===o?e:t}),Xt=Number.isInteger||function(e){return(e|0)===e};function Jt(e,t){return t[e<0?t.length+e:e]}const Yt=Z(function(e,t){if(null!=t)return Xt(e)?Jt(e,t):t[e]});const Wt=Z(function(e,t){return mt(Yt(e),t)});const Kt=K(function(e){return Qe(It(Vt,0,Wt("length",e)),function(){for(var t=0,r=e.length;t<r;){if(e[t].apply(this,arguments))return!0;t+=1}return!1})});var Zt=function(e,t){switch(arguments.length){case 0:return Zt;case 1:return function t(r){return 0===arguments.length?t:re(e,r)};default:return re(e,t)}};const Qt=Zt;const er=Qe(1,Mt(pe,Qt("GeneratorFunction")));const tr=Qe(1,Mt(pe,Qt("AsyncFunction")));var rr=Kt([Mt(pe,Qt("Function")),er,tr]);function nr(e){return nr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nr(e)}var sr=Qe(1,wt(zt,Gt(function(e){return"object"===nr(e)},rr)));const or=Qe(1,wt(sr,Mt(Ut,fe("[object Promise]")))),ir=e=>{const t=e?.element;return void 0===t||"element"===t?"Element":`${t.charAt(0).toUpperCase()}${t.slice(1)}Element`},ar=e=>Se(e),cr=e=>He(e),lr=(e,t,r)=>{Ie(e)?e.value=r:Array.isArray(e)?e[t]=null===r?void 0:r:null===r?delete e[t]:e[t]=r},ur=e=>Ie(e)?["key","value"]:Oe(e)||Ee(e)?["content"]:[],pr=(e,t)=>{if(void 0!==e[t])return e[t];const r=t.length;for(const n in e){if(!n.includes("|"))continue;const s=n.indexOf(t);if(-1===s)continue;const o=0===s||"|"===n[s-1],i=s+r===n.length||"|"===n[s+r];if(o&&i)return e[n]}},dr=(e,t,r)=>{if(void 0===t)return null;const n=e,s=r?"leave":"enter",o=pr(n,t);if(!r&&"function"==typeof o)return o;if(null!=o){const e=o[s];if("function"==typeof e)return e}const i=n[s];if("function"==typeof i)return i;if(null!=i){const e=pr(i,t);if("function"==typeof e)return e}return null};function hr(e,t){return new We(t,e.parent,e.parentPath,e.key,e.inList)}function*fr(e,t,r){const{keyMap:n,state:s,nodeTypeGetter:o,nodePredicate:a,nodeCloneFn:c,detectCycles:l,mutable:u,mutationFn:p}=r,d="function"==typeof n;let h,f,m=Array.isArray(e),y=[e],g=-1,x=[],w=e,b=null,k=null;const v=[];do{g+=1;const e=g===y.length;let r;const T=e&&0!==x.length;if(e){if(r=0===v.length?void 0:b?.key,w=f,f=v.pop(),k=b?.parentPath?.parentPath??null,T)if(u)for(const[e,t]of x)p(w,e,t);else if(m){w=w.slice();let e=0;for(const[t,r]of x){const n=t-e;null===r?(w.splice(n,1),e+=1):w[n]=r}}else{w=c(w);for(const[e,t]of x)w[e]=t}if(void 0!==h){g=h.index,y=h.keys,x=h.edits;const e=h.inArray;if(k=h.parentPath,h=h.prev,T&&!u){const t=e?g:y[g];x.push([t,w])}m=e}}else if(void 0!==f&&(r=m?g:y[g],w=f[r],void 0===w))continue;if(!Array.isArray(w)){if(!a(w))throw new i(`Invalid AST Node: ${String(w)}`,{node:w});if(l&&v.includes(w))continue;b=new We(w,f,k,r,m);const n=dr(t,o(w),e);if(n){for(const[e,r]of Object.entries(s))t[e]=r;const o=yield{visitFn:n,path:b,isLeaving:e};if(b.shouldStop)break;if(b.shouldSkip&&!e)continue;if(b.removed){if(x.push([r,null]),!e)continue}else if(b._wasReplaced()){const t=b._getReplacementNode();if(x.push([r,t]),!e){if(!a(t))continue;w=t}}else if(void 0!==o&&(x.push([r,o]),!e)){if(!a(o))continue;w=o}b._markStale()}}if(!e){if(h={inArray:m,index:g,keys:y,edits:x,parentPath:k,prev:h},m=Array.isArray(w),m)y=w;else if(d)y=n(w);else{const e=o(w);y=void 0!==e?n[e]??[]:[]}g=-1,x=[],void 0!==f&&v.push(f),f=w,k=b}}while(void 0!==h);return 0!==x.length?x.at(-1)[1]:e}((e,t={})=>{const{visitFnGetter:r=dr,nodeTypeGetter:n=ir,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),a=Symbol("break"),c=new Array(e.length).fill(o);return{enter(t){let l=t.node,u=!1;for(let p=0;p<e.length;p+=1)if(c[p]===o){const o=r(e[p],n(l),!1);if("function"==typeof o){const r=hr(t,l),n=o.call(e[p],r);if(or(n))throw new i("Async visitor not supported in sync mode",{visitor:e[p],visitFn:o});if(r.shouldStop){c[p]=a;break}if(r.shouldSkip&&(c[p]=l),r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();if(!s)return t.replaceWith(e),e;l=e,u=!0}else if(void 0!==n){if(!s)return t.replaceWith(n),n;l=n,u=!0}}}if(u)return t.replaceWith(l),l},leave(t){const s=t.node;for(let l=0;l<e.length;l+=1)if(c[l]===o){const o=r(e[l],n(s),!0);if("function"==typeof o){const r=hr(t,s),n=o.call(e[l],r);if(or(n))throw new i("Async visitor not supported in sync mode",{visitor:e[l],visitFn:o});if(r.shouldStop){c[l]=a;break}if(r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();return t.replaceWith(e),e}if(void 0!==n)return t.replaceWith(n),n}}else c[l]===s&&(c[l]=o)}}})[Symbol.for("nodejs.util.promisify.custom")]=(e,t={})=>{const{visitFnGetter:r=dr,nodeTypeGetter:n=ir,exposeEdits:s=!1}=t,o=Symbol("internal-skip"),i=Symbol("break"),a=new Array(e.length).fill(o);return{async enter(t){let c=t.node,l=!1;for(let u=0;u<e.length;u+=1)if(a[u]===o){const o=r(e[u],n(c),!1);if("function"==typeof o){const r=hr(t,c),n=await o.call(e[u],r);if(r.shouldStop){a[u]=i;break}if(r.shouldSkip&&(a[u]=c),r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();if(!s)return t.replaceWith(e),e;c=e,l=!0}else if(void 0!==n){if(!s)return t.replaceWith(n),n;c=n,l=!0}}}if(l)return t.replaceWith(c),c},async leave(t){const s=t.node;for(let c=0;c<e.length;c+=1)if(a[c]===o){const o=r(e[c],n(s),!0);if("function"==typeof o){const r=hr(t,s),n=await o.call(e[c],r);if(r.shouldStop){a[c]=i;break}if(r.removed)return void t.remove();if(r._wasReplaced()){const e=r._getReplacementNode();return t.replaceWith(e),e}if(void 0!==n)return t.replaceWith(n),n}}else a[c]===s&&(a[c]=o)}}};const mr=(e,t,r={})=>{const n=fr(e,t,{keyMap:r.keyMap??ur,state:r.state??{},nodeTypeGetter:r.nodeTypeGetter??ir,nodePredicate:r.nodePredicate??ar,nodeCloneFn:r.nodeCloneFn??cr,detectCycles:r.detectCycles??!0,mutable:r.mutable??!1,mutationFn:r.mutationFn??lr});let s=n.next();for(;!s.done;){const e=s.value,r=e.visitFn.call(t,e.path);if(or(r))throw new i("Async visitor not supported in sync mode",{visitor:t,visitFn:e.visitFn});s=n.next(r)}return s.value},yr=async(e,t,r={})=>{const n=fr(e,t,{keyMap:r.keyMap??ur,state:r.state??{},nodeTypeGetter:r.nodeTypeGetter??ir,nodePredicate:r.nodePredicate??ar,nodeCloneFn:r.nodeCloneFn??cr,detectCycles:r.detectCycles??!0,mutable:r.mutable??!1,mutationFn:r.mutationFn??lr});let s=n.next();for(;!s.done;){const e=s.value,r=await e.visitFn.call(t,e.path);s=n.next(r)}return s.value};mr[Symbol.for("nodejs.util.promisify.custom")]=yr,We.prototype.traverse=function(e,t){return mr(this.node,e,t)},We.prototype.traverseAsync=function(e,t){return yr(this.node,e,t)};const gr=class extends q{name="apidom";isArray(e){return Oe(e)}isObject(e){return Ee(e)}sizeOf(e){return this.isArray(e)||this.isObject(e)?e.length:0}has(e,t){if(this.isArray(e)){const r=Number(t),n=r>>>0;if(r!==n)throw new R(`Invalid array index "${t}": index must be an unsinged 32-bit integer`,{referenceToken:t,currentValue:e,realm:this.name});return n<this.sizeOf(e)}if(this.isObject(e)){const r=e.keys(),n=new Set(r);if(r.length!==n.size)throw new G(`Object key "${t}" is not unique — JSON Pointer requires unique member names`,{referenceToken:t,currentValue:e,realm:this.name});return e.hasKey(t)}return!1}evaluate(e,t){return this.isArray(e)?e.get(Number(t)):e.get(t)}};const xr=K(function(e){return Jt(-1,e)}),wr=(e,t,r)=>{let n,s=[],o=t;if(mr(r,{enter(e){e.node===t&&(s=e.getAncestorNodes().reverse().filter(Se),e.stop())}}),0===s.length)throw new l("Relative JSON Pointer evaluation failed. Current element not found inside the root element",{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});if(xr(s)===r)throw new l("Relative JSON Pointer evaluation failed. Current element cannot be the root element",{relativePointer:e,currentElement:t,rootElement:r,cursorElement:o});try{n=J(e)}catch(r){throw new l("Relative JSON Pointer evaluation failed while parsing the pointer.",{relativePointer:e,currentElement:_e(t),rootElement:_e(t),cursorElement:_e.safe(o),cause:r})}if(n.nonNegativeIntegerPrefix>0){const i=[...s];for(let{nonNegativeIntegerPrefix:e}=n;e>0;e-=1)o=i.pop(),Ie(o)&&(o=i.pop());if(void 0===o)throw new l(`Relative JSON Pointer evaluation failed on non-negative-integer prefix of "${n.nonNegativeIntegerPrefix}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});s=i}if("number"==typeof n.indexManipulation){const i=xr(s);if(void 0===i||!Oe(i))throw new l(`Relative JSON Pointer evaluation failed failed on index-manipulation "${n.indexManipulation}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});const a=i.content,c=a.indexOf(o);if(o=a[c+n.indexManipulation],void 0===o)throw new l(`Relative JSON Pointer evaluation failed on index-manipulation "${n.indexManipulation}"`,{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)})}if(Array.isArray(n.jsonPointerTokens)){o=((e,t,r={})=>z(e,t,{...r,realm:new gr}))(o,L(n.jsonPointerTokens))}else if(n.hashCharacter){if(o===r)throw new l('Relative JSON Pointer evaluation failed. Current element cannot be the root element to apply "#"',{relativePointer:e,currentElement:_e(t),rootElement:_e(r),cursorElement:_e.safe(o)});const n=xr(s);void 0!==n&&(Ie(n)?o=n.key:Oe(n)&&(o=new Ge(n.content.indexOf(o))))}return o};return t})());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@speclynx/apidom-json-pointer-relative",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Evaluate Relative JSON Pointer expressions against ApiDOM.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"license": "Apache-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@babel/runtime-corejs3": "^7.28.4",
|
|
42
|
-
"@speclynx/apidom-core": "^2.0
|
|
43
|
-
"@speclynx/apidom-datamodel": "^2.0
|
|
44
|
-
"@speclynx/apidom-error": "^2.0
|
|
45
|
-
"@speclynx/apidom-json-pointer": "^2.0
|
|
46
|
-
"@speclynx/apidom-traverse": "^2.0
|
|
42
|
+
"@speclynx/apidom-core": "^2.1.0",
|
|
43
|
+
"@speclynx/apidom-datamodel": "^2.1.0",
|
|
44
|
+
"@speclynx/apidom-error": "^2.1.0",
|
|
45
|
+
"@speclynx/apidom-json-pointer": "^2.1.0",
|
|
46
|
+
"@speclynx/apidom-traverse": "^2.1.0",
|
|
47
47
|
"ramda": "~0.32.0",
|
|
48
48
|
"ramda-adjunct": "^6.0.0"
|
|
49
49
|
},
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"README.md",
|
|
58
58
|
"CHANGELOG.md"
|
|
59
59
|
],
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "dd02cfbbe82b0a31c6e7c444cec140e740e1c6e9"
|
|
61
61
|
}
|